选择的 UIButton 不起作用
Posted
技术标签:
【中文标题】选择的 UIButton 不起作用【英文标题】:UIButton selected not working 【发布时间】:2012-08-17 06:48:04 【问题描述】:简单,但行不通!有人可以帮忙吗?我想要的只是切换 UIButton 的选择,代码如下:
-(IBAction) buttonPressed:(id)sender
if ([self.mybutton isSelected])
NSLog(@"selected");
[self.mybutton setSelected:NO];
else
NSLog(@"not selected");
[self.mybutton setSelected:YES];
NSLog([self.mybutton isSelected] ? @"Yes" : @"No");
尽管我按下按钮任意次数,但每次打印的内容都是“未选择”和“否”。 为什么 UIButton 没有设置为“选定”状态?
【问题讨论】:
【参考方案1】:由于您的代码似乎是正确的,您可以通过这种方式使其更简单:
-(IBAction) buttonPressed:(UIButton *)sender
sender.selected = !sender.selected;
为什么您的代码不能正常工作? self.mybutton
可能是 nil
(你可以检查一下)。检查您的插座连接和属性定义...
参考:发送消息不是 nil
对象,如果是简单类型则返回 nil
或默认值(0 代表 int
,NO
代表 BOOL
等)
【讨论】:
我不确定您回答后问题是否已被编辑,但是;如果 mybutton 为 nil,则不会调用目标方法。他不会得到 nslog。 这不是真的..IBOutlet
和 IBAction
在通过 Interface Builder 连接它们时是不同且独立的。我敢打赌,情况完全如此——与mybutton
属性的连接不正常。
弥补我的错误。你说的对。我不是一个界面构建者,可能有人 +1 指出这一点:)
+1 谢谢!这就是问题所在!多么愚蠢!我在 IB 中连接了 IBAction,但没有连接 IBOutlet!以上是关于选择的 UIButton 不起作用的主要内容,如果未能解决你的问题,请参考以下文章