【发布时间】:2013-10-14 14:33:43
【问题描述】:
我很困惑为什么这段代码不起作用。我有一个登录按钮,我想在用户未登录时禁用它。
我的 .h 文件中有一个 UIButton,如下所示:
IBOutlet UIButton *myBtn;
我已经在 Interface Builder 中为这个按钮设置了一个引用出口。
在我的 .m 文件中,我尝试过:
[myBtn setEnabled: NO];
和
myBtn.enabled = NO;
但是这些都没有禁用我所在的条件语句中的按钮。(我想在用户成功登录时禁用登录按钮)
我可以在同一屏幕上使用另外两个按钮来执行此操作,所以我知道代码是正确的。我没有抛出任何错误,所以我认为该对象存在。在 XCode 中对 myBtn 的引用也会改变颜色,因此它似乎是一个有效的引用。
我一定错过了什么。我在这里做错了什么? (我是一名 Windows 开发人员,在 Objective-C 方面相对较新)
【问题讨论】:
-
在您的 .h 文件中,它应该是 IBOutlet UIButton *myBtn。需要一个指针。但是我认为您可能只是出于提问目的而将其缩短。你在哪里声明的?作为财产?如果是,则需要综合。
-
啊,忘了星号(我在另一台电脑上打字)...
-
在尝试禁用该按钮之前在该行中添加
NSAssert(myBtn, @"Button is nil!");。如果您看到异常myBtn为 nil 并且您没有将其连接到实际的 UIButton 实例。
标签: ios objective-c uibutton