我很难理解为什么这段代码不起作用。我有一个登录按钮,我想在用户未登录时禁用它。
我的.h文件中有一个UIButton delared如下:
IBOutlet UIButton *myBtn;
我已在Interface Builder中为此按钮设置了一个引用插座。
在我的.m文件中,我尝试过:
[myBtn setEnabled: NO];
和
myBtn.enabled = NO;
但是这些都没有禁用我所在的条件语句中的按钮。(我想在用户成功登录时禁用登录按钮)
我可以在同一个屏幕上使用另外两个按钮执行此操作,因此我知道代码是正确的。我没有抛出任何错误,所以我认为该对象存在。对myBtn的引用也会在XCode中更改颜色,因此它似乎是一个有效的引用。
我一定错过了什么。我在这做错了什么? (我是Windows开发人员,在Objective-C上相对较新)
答案 0 :(得分:8)
对我来说似乎没问题。你是合成按钮吗?尝试
self.myBtn.enabled = NO;
答案 1 :(得分:5)
如果您正在寻找Swift3解决方案
<style>
body {
font-size: 16px;
color: white;
padding: 20px;
}
.about-btn {
background: #0069a6;
width: 135px;
height: 35px;
text-align: center;
padding-top: 20px;
}
.about-wrapper {
background: #0069a6;
box-shadow: 0 20px 80px 0 rgba(0, 0, 0, .45);
position: absolute;
bottom: 130px;
height: 200px;
width: 500px;
display: none;
flex-direction: column;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}
.about {
width: 80%;
height: 50%;
float: left;
text-align: justify;
}
.about-close {
position: absolute;
top: 10px;
right: 10px;
width: 30px;
height: 30px;
}
</style>
<div class="about-btn">
CLICK ME
</div>
<div class="about-wrapper">
<div class="about-close">
<span class="about-icon">X</span>
</div>
<div class="about">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent a auctor turpis. Aenean eleifend augue eget ex laoreet, eget cursus ante lobortis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent dapibus enim nec nunc bibendum, quis consequat urna laoreet.
</div>
</div>
<script>
$('.about-btn').on('click', function(){
$('.about-wrapper').css("display", "flex").hide().fadeToggle();
})
$('.about-close').on('click', function() {
$('.about-wrapper').fadeOut();
});
</script>
答案 2 :(得分:2)
您应该将按钮设置为IBOutlet。
@property (weak, nonatomic) IBOutlet UIButton *myBtn;
这样您就可以在故事板中连接该按钮。这可能是你的问题。
然后调用此方法禁用。
[_myBtn setEnabled:NO];
答案 3 :(得分:1)
试试这个..
在.h
:
@property(nonatomic,retain)UIButton *myBtn;
在.m
:
@synthesize myBtn;
然后,将[myBtn setEnabled: NO];
代码替换为[self.myBtn setEnabled: NO];
代码。
答案 4 :(得分:1)
如果您正在寻找快速代码:
var button = UIButton()
button.enabled = false //disable the button