当用户滑动滑块移动forword并在标签中标记其值时,我正在使用uislider的应用程序haivng功能。我已经为此执行了这样的操作
- (IBAction)sensivity:(UISlider*)sender
{
self.senlabel.text =[NSString stringWithFormat:@"%d", (int)sender.value];
}
到这里很好但我需要在用户第一次点击滑块时显示警报视图。如果用户单击确定,则标签应更改滑块值,如果取消它应显示一些默认值。 需要的关键点:
答案 0 :(得分:2)
1)查看dispatch_once
API。查看this link。
2)和3)在将警报提升到实例变量之前保存滑块的值。将您的类设置为UIAlertView的委托。如果按下取消按钮,请将滑块设置回保存的值。如果单击确定按钮(您必须在创建警报时指定),请不执行任何操作。
对于UIKit入门,请参阅Ray Wenderlich的site。
答案 1 :(得分:0)
这是你的答案:
> - (IBAction)valueChanged:(UISlider *)sender
{
static dispatch_once_t onceToken;
dispatch_once (&onceToken, ^{
UIAlertController * alert= [UIAlertController
alertControllerWithTitle:@"Title"
message:@"Your custom message"
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* cancel = [UIAlertAction
actionWithTitle:@"Cancel"
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action)
{
//Do some thing here
[alert dismissViewControllerAnimated:YES completion:nil];
return ;
}];
[alert addAction:cancel];
UIAlertAction* ok = [UIAlertAction
actionWithTitle:@"OK"
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action)
{
//Do some thing here
[alert dismissViewControllerAnimated:YES completion:nil];
}];
[alert addAction:ok];
[self presentViewController:alert animated:YES completion:nil];
});
}
答案 2 :(得分:0)
我宁愿让你的viewController成为UISlider的委托,并管理自己的状态以显示/隐藏警报。
检查你需要实现的UISliderDelegate方法(如果你不这样做,编译器就会抱怨)。
@interface YourViewController : UIViewController <UIScrollViewDelegate>