1

简单,但不工作!有人可以帮忙吗?我想要的只是切换 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 没有设置为“选定”状态?

4

1 回答 1

3

由于您的代码似乎是正确的,您可以通过这种方式使其更简单:

-(IBAction) buttonPressed:(UIButton *)sender {
   sender.selected = !sender.selected;
}

为什么您的代码无法正常工作?可能self.mybuttonnil(你可以检查出来)。检查您的插座连接和属性定义...参考:发送消息而不是nil对象,nil如果它是简单类型,则返回其中一个或默认值(0 表示intNOforBOOL等)

于 2012-08-17T07:16:04.660 回答