我是iPhone编程的新手,当我使用此代码启用/禁用按钮时,没有任何反应。我通过IBOutlet连接了我的按钮,我知道当我在viewDidLoad中禁用它时,它可以工作。我只是想弄清楚为什么这种方法不起作用。
- (void) multiplicationButtonPressed {
if (multiplicationIsPressed) {
multiplicationButton.enabled = NO;
} else {
multiplicationButton.enabled = YES;
}
}
答案 0 :(得分:1)
请检查您的IBOutlet是否已正确连接此按钮,然后
使用这段代码
- (IBAction) multiplicationButtonPressed
{
multiplicationButton.selected = !multiplicationButton.selected;
}
就是这样。您不需要任何布尔标志。它就像切换一样。
答案 1 :(得分:0)
请检查您的IBOutlet是否已正确连接此按钮,然后
使用此代码
- (IBAction) multiplicationButtonPressed
{
if (multiplicationIsPressed) {
multiplicationButton.userInteractionEnabled = NO;
} else {
multiplicationButton.userInteractionEnabled = YES;
}
}
答案 2 :(得分:0)
这可能是失败的原因有很多。没有更多的背景,我们只能猜测。
multiplicationButtonPressed
,则尚未创建该按钮。multiplicationButton
在IB中被作为IBOutlet连接起来,但你可能错了。它实际上是连接的吗?multiplicationButtonPressed
是按钮或其他控件的动作,它可能实际上并没有连接到应该连接的任何内容。这很可能是因为您将其声明为(void)
而不是(IBAction)
,因此除非.h文件中的声明与IB不匹配,否则甚至不会看到它。multiplicationButtonPressed
是multiplicationButton
本身的操作,当按钮当前未启用时将永远不会调用它,因为enabled
设置为NO的按钮永远不会回应接触。userInteractionEnabled
设置为NO的视图的子视图也不能响应触摸。