我有三个标签从三个UISliders接收输出。触摸分段控件时,将计算结果并将其放置在第四个标签中。

如果更改了一个滑块值而不再次触摸分段控件,如何使结果更新?

最佳答案

首先,为您的滑块更改值添加一个事件:

[mySlider addTarget:self
             action:@selector(sliderValueChanged:)
   forControlEvents:UIControlEventValueChanged];


您将需要为每个滑块执行此操作。

在您的sliderValueChanged:函数中:

- (void)sliderValueChanged:(id)sender {
    [self calculateResult];
}


calculateResult中,您可以进行计算并设置结果框。

如果您需要确保分段控件首先处于某种状态,只需在if中添加sliderValueChanged:子句

- (void)sliderValueChanged:(id)sender {
    if ([mySegmentedControl selectedSegmentIndex] == 1) {
        [self calculateResult];
    }
}

08-19 11:50