2016-04-15 25 views
-1

我试图回到iOS编程中,但它已经有一段时间了,所以我已经失去了它。选择将导致“if语句”的两个按钮(Objective-C)

我试图做一个简单的单视图游戏。我有四个按钮。按钮1,按钮2,按钮3和按钮4.

我需要发生的事情是:当我按下按钮时,按钮被选中,然后我希望用户能够按任何其他按钮,然后将导致如果陈述,我会稍后编码。

另外,我希望用户能够通过再次单击取消选择先前选择的按钮。所以他或她可以选择他们选择的另一个按钮,开始。

我真的很感激这个简单的代码设置,因为我不知道我该怎么做。

回答

0

的想法是它被按压并且控制返回给用户之后以改变选择器(IBAction为)为第一按钮与其他按钮的状态。

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

在您忘记案例: - (无效)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; 

    } 
0

上述功能可以很容易地通过管理标志来知道是否已经选择了按钮。

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

+0

为什么你会使用'1'和'0'?为什么不把它变成一个'BOOL'? – rmaddy

+0

1和0只是一个例子,BOOL会做同样的事情。 –

0

取一个BOOL变量isSelected。

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

消除'if'语句。只要做'button.enabled =!isSelected;'。 – rmaddy