0

UISlider があり、その下に 3 つの UILabels をスライダーと共にスライドさせ、スライダーの値に依存する値を更新したいと考えています。スライダーをドラッグすると、あるべき場所と中央の位置の間で場所が前後に点滅します。非常にわずかな量のブレークポイントを挿入すると、sliderValueDidChange メソッドが複数回呼び出され、sliderValue が異なる値を示します。何か案は?

- (IBAction)sliderValueDidChange:(UISlider *)sender {
// Update the labels
float sliderValue = sender.value;
percentSplitLabel.text = [NSString stringWithFormat:@"%.0f%@", sliderValue * 100, @"%"];
themSplitValueLabel.text = [NSString stringWithFormat:@"%@%.2f", @"$", totalToBeAddedToTabValue];
meSplitValueLabel.text = [NSString stringWithFormat:@"%@%.2f", @"$", totalBillValue - totalToBeAddedToTabValue];

// Reposition the numbers below
CGRect sliderFrame = splitBillSlider.frame;
percentSplitLabel.center = CGPointMake(sliderFrame.origin.x - sliderFrame.size.width/2.0 + sliderFrame.size.width * sliderValue + 150, percentSplitLabel.center.y);
themSplitValueLabel.center = CGPointMake(percentSplitLabel.center.x + percentSplitLabel.frame.size.width + 10, percentSplitLabel.center.y);
meSplitValueLabel.center = CGPointMake(percentSplitLabel.center.x - percentSplitLabel.frame.size.width, percentSplitLabel.center.y);
4

1 に答える 1

2

ビューで自動レイアウトを使用している場合は、無効にしてみてください ([ファイル インスペクター] > [自動レイアウトを有効にする] のチェックを外します)。

于 2013-07-13T20:44:07.310 に答える