以编程方式禁用UIButton
我很难为什么这个代码不工作。 我有一个loginbutton,当用户没有login时,我想禁用它。
我有一个UIButton在我的.h文件中,如下所示:
IBOutlet UIButton *myBtn;
我已经在Interface Builder中为此button设置了一个引用sockets。
在我的.m文件中,我试过了:
[myBtn setEnabled: NO];
和
myBtn.enabled = NO;
但是,这些都不能禁用条件语句中的button(我想在用户成功login时禁用loginbutton)
我可以在同一个屏幕上使用另外两个button来做到这一点,所以我知道代码是正确的。 我不会抛出任何错误,所以我认为这个对象是存在的。 对myBtn的引用也改变了XCode的颜色,所以它似乎是一个有效的引用。
我肯定错过了什么。 我在这里做错了什么? (我是一名Windows开发人员,在Objective-C上相对较新)
对我来说似乎没问题。 你在合成这个button吗? 尝试
self.myBtn.enabled = NO;
您应该将您的button设置为IBOutlet。
@property (weak, nonatomic) IBOutlet UIButton *myBtn;
这样,你可以连接故事板中的button。 这可能是你的问题。
然后调用这个来禁用。
[_myBtn setEnabled:NO];
试试这个..
在.h
:
@property(nonatomic,retain)UIButton *myBtn;
在.m
:
@synthesize myBtn;
然后,replace你的[myBtn setEnabled: NO];
代码与[self.myBtn setEnabled: NO];
码。
如果你正在寻找swift代码:
var button = UIButton() button.enabled = false //disable the button
如果你正在寻找Swift3解决scheme
var myBtn = UIButton() myBtn.isEnabled = true