正确更改按钮状态和属性。

埃德加

在我的应用程序中,我有5个按钮。firstButton.selected = YES;我需要别人做的时候*.selected = NO;为其他四个按钮写“ NO”是正确的解决方案吗?

如果不清楚我的意思,这是示例代码:

- (IBAction)setColorRed:(id)sender {

            _redColor.selected = YES;
            _greenColor.selected = NO;
            _blueColor.selected = NO;
            _yeallowColor.selected = NO;
            _clearColor.selected = NO;
    }

2)问题的第二部分:

self.redColor setBounds:CGRectMake(0,0,45,45)];

任何人都可以用人类语言解释为什么如果我更改那些“ 0,0”按钮不会更改其位置?就像发送setFrame时一样。

3)问题的第三部分:

发件人是按钮。如果[sender isSelected]是UITableViewCell的属性,它将如何工作?和“ notSelected”的等效项是什么?

非常感谢。

Paulw11
  1. 您应该将按钮放置在数组中-然后您可以简单地跟踪选定的索引并按下一个按钮的方法即可消除重复的代码。

例如

- (IBAction)buttonTapped:(UButton *)sender {
    for (UIButton *aButton in self.buttons) {
        if (aButton != sender) {
            aButton.selected=NO;
        }
    }
    sender.selected=YES;
 }
  1. Bounds是项目在其自己的坐标空间中的坐标,frame是项目在其父级的坐标空间中的坐标。尝试在其自己的空间中偏移项目的原点是没有意义的。
  2. 的“对立”isSelected只是检查“ isSelected”的错误/否值-

例如

if (self.redColor.isSelected) {
      //The button isn't selected
}

最后,您应该养成使用的习惯,self.property而不是_property除非您特别想绕过setter / getter。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更改按钮文本和状态的颜色

来自分类Dev

滚动和恢复时按钮的更改状态

来自分类Dev

更改按钮状态

来自分类Dev

Angular指令更改ajax之前和之后的按钮状态

来自分类Dev

如何使用 jQuery 更改 Bootstrap 按钮的属性和属性

来自分类Dev

单选按钮和复选框。防止更改值属性

来自分类Dev

如何更改按钮的属性

来自分类Dev

烧瓶更改按钮状态动态

来自分类Dev

在Tkinter中更改按钮状态

来自分类Dev

如何访问更改状态的按钮

来自分类Dev

更改所选状态的按钮形状?

来自分类Dev

单选按钮选择以更改状态

来自分类Dev

在Tkinter中更改状态按钮

来自分类Dev

从 edittext 状态更改按钮文本

来自分类Dev

在状态更改的angularjs上更改按钮颜色

来自分类Dev

更改单选按钮状态更改的标题

来自分类Dev

Microsoft SQL Server 2012缓慢更改维度历史属性更改日期和状态

来自分类Dev

RadioButton 状态和按钮验证

来自分类Dev

Vue和Vuex v-for在状态更改时无法正确更新

来自分类Dev

ajax按钮来显示和更改数据库字段的状态-Laravel 4

来自分类Dev

jQuery菜单-在父菜单按钮上切换子菜单区域和CSS状态更改

来自分类Dev

ajax按钮来显示和更改数据库字段的状态-Laravel 4

来自分类Dev

如何根据 Xamarin 和 XAML 中的绑定属性更改按钮的属性

来自分类Dev

按钮数组:更改属性

来自分类Dev

更改按钮上的CSS属性?

来自分类Dev

Vue和Vuex:更改状态时不调用计算属性

来自分类Dev

反应挂钩,状态未正确更改

来自分类Dev

如何正确更改对象的状态?

来自分类Dev

无法正确更改componentDidMount中的状态