我有六个按钮我希望用户必须选择六个按钮中的任何一个,然后移动到下一个屏幕,如果它没有选择任何它不应该移动到下一个屏幕我已阅读使用BOOL标志但这显示哪个按钮是点击我想要如果点击六个按钮中的任何一个,那么用户可以移动到下一个屏幕
-(IBAction)locationOneButtonAction{
// your stuff
_flag = YES;
}
-(IBAction)locationTwoButtonAction{
// your stuff
_flag = YES;
}
答案 0 :(得分:2)
我认为这个问题的最佳解决方案是为你的类声明一个bool(比方说它叫做“ClickViewController”就好了(所以在顶部)
@interface ClickViewController () {
bool wasClicked;
}
...
-(IBAction)locationOneButtonAction{
// your stuff
wasClicked = YES;
}
然后,当点击应该移动到下一页的按钮时,使用这样的方法。
-(void)nextPageClicked{
if (wasClicked){
[self performSegueWithIdentifier:@"segueIdentifier" sender: self];
} else {
// do something else here, like tell the user why you didn't move them
}
}
这意味着您无法将按钮中的segue绘制到下一个视图。如果您正在使用故事板,这意味着您无法从应该将其移动到下一个视图的按钮中绘制segue,而应该将其从视图控制器图标绘制到下一个视图。然后选择segue,为其命名,并使用上面的方法名称。
我也不确定你是否想让每个按钮移动到下一个视图,如果是这样的话,你可以使用基本相同的代码,但只需输入代码[self performSegueWithIdentifier:@ “segueIdentifier”发件人:self];按钮的行动。
希望这有帮助。
答案 1 :(得分:0)
最初添加BOOL _flag; int curIndex;在.h文件中。
现在添加_flag = FALSE;在viewDidLoad方法中,因为它表示没有点击按钮。
为每个按钮设置userInteractionEnabled,以便能够点击并为每个按钮添加标签。
现在每次点击按钮的动作方法都可以这样做:
(IBAction)locationOneButtonAction:(id)sender{
curIndex = [sender tag]; //which button clicked
// your stuff
_flag = TRUE;
}
-(IBAction)locationTwoButtonAction{
curIndex = [sender tag]; //which button clicked
// your stuff
_flag = YES;
}
........
........
现在点击按钮点击这样检查:
if(_flag)
{
NSLog(@"Button clicked with tag: %d",curIndex);
}
else
{
NSLog(@"Not any Button clicked");
}