iOS 使用步进器控制滑块值和文本标签值
Posted
技术标签:
【中文标题】iOS 使用步进器控制滑块值和文本标签值【英文标题】:iOS controlling a slider value and text label value with a stepper 【发布时间】:2013-05-06 03:44:37 【问题描述】:我已经有一个控制文本标签输出的滑块。
-(IBAction)mySlider:(UISlider *)sender
_myTextLabel.text = [NSString stringWithFormat:@"%i", (int) sender.value];
但是,我还希望步进器能够改变滑块的位置。因此,如果滑块已设置为 50,并且文本标签显示为 50,我希望步进器递增到 51、52、53 等。有人知道执行此操作的代码吗?谢谢!
【问题讨论】:
你有什么问题? 所以如果我没看错的话,你非常希望 UISlider 更新标签,然后步进器更新滑块? 是的,没错,我的问题是执行此操作的代码是什么...基本上,如果用户尝试选择特定数字,他们可以使用滑块作为粗调,然后使用增量器得到确切的数字 【参考方案1】:您需要保留UISlider
的参考。使用 valueChanged 事件为 UIStepper
创建一个处理程序。
步进器和滑块都需要做的一些设置
将步进器和滑块的最小值和最大值分别设置为 0 和 100。设置步进器的步长为1。设置步进器和滑块的默认值相同。
- (void)viewDidLoad
[super viewDidLoad];
self.slider.minimumValue = 0;
self.slider.maximumValue = 100;
self.stepper.minimumValue = 0;
self.stepper.maximumValue = 100;
self.stepper.stepValue = 1;
self.slider.value = 10;
self.stepper.value = 10;
- (IBAction)stepperValueChanged:(UIStepper *)sender
[self.slider setValue:sender.value];
self.myTextLabel.text = [@((int)sender.value) stringValue];
- (IBAction)sliderValueChanged:(UISlider *)sender
[self.stepper setValue:sender.value];
self.myTextLabel.text = [@((int)sender.value) stringValue];
【讨论】:
感谢这段代码,但我有一个快速的新手问题:如何为 UISlider 提供参考?每次我为滑块创建方法时,我都无法在 大括号之外引用它们,而且我不知道如何指向它们 你所要做的就是在你的 .h 文件中,做 @property (nonatomic, retain) UISlider *以上是关于iOS 使用步进器控制滑块值和文本标签值的主要内容,如果未能解决你的问题,请参考以下文章