选择两个按钮,这将导致“if语句”(Objective-C)

时间:2016-04-15 04:01:21

标签: ios objective-c

我正在尝试重新进入iOS编程,但已经有一段时间了,所以我有点失去它。

我正在尝试制作一个简单的单一视图游戏。我有四个按钮。按钮1,按钮2,按钮3和按钮4。

我需要做的是:当我按下按钮时,按钮被选中,然后我希望用户能够按下任何其他按钮,这将导致< strong> if statement 我稍后会编码。

此外,我希望用户只需再次点击它就可以取消选择之前选择的按钮。这样他或她就可以选择自己选择的另一个按钮了。

我非常感谢这个简单的代码设置,因为我不知道我将如何做到这一点。

3 个答案:

答案 0 :(得分:0)

通过管理标志以了解是否已经选择了按钮,可以轻松实现上述功能。

当用户按下按钮时

设置slected=1;, 再次选择将标记更改为selected=0将帮助您轻松获得按钮的选定状态。

答案 1 :(得分:0)

取一个BOOL变量isSelected。

isSelected = ! isSelected;
if(isSelected){
    button.enabled = NO;
 }
else{
    button.enabled = YES;
}

答案 2 :(得分:0)

想法是在按下第一个按钮后更改选择器中其他按钮的状态(IBAction),然后控制返回给用户。

3按钮发生的任何事情似乎意味着你只是想要设置或取消设置然后同时进行评估 - 更合适的类是UISwitch,所以你可以设置 - 一次取消设置它们而不触发动作。当然,如果您愿意,您可以使用按钮,但通常每个按钮都会触发选择器而不是您的代码,耐心地等待用户在您的代码重新开始之前设置选项时下定决心。

如果你忘记了:    - (void)viewDidLoad {

[super viewDidLoad];
[Button1 addTarget:self action:@selector(Button1_pressed:)
   forControlEvents:UIControlEventTouchUpInside];

[Button2 addTarget:self action:@selector(Button2_pressed:) 
   forControlEvents:UIControlEventTouchUpInside];
  Button2.enabled = NO;

 [Button3 addTarget:self action:@selector(Button3_pressed:)           
   forControlEvents:UIControlEventTouchUpInside];
   Button3.enabled = NO;

   ....  }

-(IBAction) Button1_pressed:(ID) sender {
   Button2.enabled = YES;
   Button3.enabled = YES;
   Button4.enabled = YES;

  }