Ser*_*yov 4 xcode cocoa-touch objective-c uislider ios
让我们假设有一个UISlider我设置了一定值.然后滑块手柄移动到该值,如预期的那样.
现在我想让用户前后滑动滑块的手柄,但是不要将其值设置UISlider为小于我以编程方式分配给它的值.
所以例如我有一个UISlider最小值为0,最大值为100,我将其值设置为50.我不希望用户滑动"lefter"而不是50但是在它的"右侧"我想让用户来回滑动手柄.
你如何在Obj-C中实现这种行为?
rdu*_*and 12
您应该首先确保连续发送更新事件:
mySlider.continuous = YES;
Run Code Online (Sandbox Code Playgroud)
您也可以在storyboard/nib中执行此操作(由@fDmitry提及,这是IB中的默认状态).
然后,您必须将滑块链接到IBAction.h文件中(通过从IB拖动到代码来创建链接),并将其分配给滑块的"值已更改"事件.这将创建一个这样的方法:
-(IBAction)sliderValueChanged:(id)sender;
Run Code Online (Sandbox Code Playgroud)
以这种方式实施:
- (IBAction)sliderValueChanged:(id)sender {
float maxValue = 50.0f;
if ([(UISlider*)sender value] > maxValue) {
[(UISlider*)sender setValue:maxValue];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3764 次 |
| 最近记录: |