以编程方式禁用UIButton

Tim*_*Tim 8 objective-c uibutton ios

我很难理解为什么这段代码不起作用.我有一个登录按钮,我想在用户未登录时禁用该按钮.

我在我的.h文件中有一个UIButton delared如下:

   IBOutlet UIButton *myBtn;
Run Code Online (Sandbox Code Playgroud)

我在Interface Builder中为这个按钮设置了一个引用插座.

在我的.m文件中,我尝试过:

[myBtn setEnabled: NO];
Run Code Online (Sandbox Code Playgroud)

myBtn.enabled = NO;
Run Code Online (Sandbox Code Playgroud)

但是这些都没有禁用我所在的条件语句中的按钮.(我想在用户成功登录时禁用登录按钮)

我可以在同一个屏幕上使用另外两个按钮来完成此操作,因此我知道代码是正确的.我没有抛出任何错误,所以我认为该对象存在.对myBtn的引用也会在XCode中更改颜色,因此它似乎是一个有效的引用.

我肯定错过了什么.我在这做错了什么?(我是Windows开发人员,在Objective-C上相对较新)

ssa*_*tos 8

对我来说似乎没问题.你在合成按钮吗?尝试

self.myBtn.enabled = NO;
Run Code Online (Sandbox Code Playgroud)


小智 6

如果您正在寻找Swift3解决方案

var myBtn = UIButton()
myBtn.isEnabled = true
Run Code Online (Sandbox Code Playgroud)