我想通过代码设置UIButton的标题.我发现自己不得不为UIControlStateNormal,UIControlStateHighlighted,UIControlStateDisabled,UIControlStateSelected调用 - [UIButton setTitle:forState:].而这甚至没有考虑到这些状态的所有组合.
不用说,这很烦人.我可以进行一次调用,将一个字符串设置为所有状态的标题吗?(因为,我认为在95%的情况下,这是理想的行为?)
像Mr.M先生一样.Frog说,设置UIControlStateNormal的标题通常会起作用.唯一的例外是如果已经为其他州设置了标题.UIControlState是一个掩码,所以你可以像这样覆盖你的屁股:
[button setTitle:@"Title" forState:UIControlStateNormal|UIControlStateHighlighted| UIControlStateDisabled|UIControlStateSelected]
Run Code Online (Sandbox Code Playgroud)
如果你想简明扼要:
#define kAllControlStates (UIControlStateNormal|UIControlStateHighlighted| UIControlStateDisabled|UIControlStateSelected)
[button setTitle:@"Title" forState:kAllControlStates];
Run Code Online (Sandbox Code Playgroud)
或简洁和不透明:
[button setTitle:@"Title" forState:0xffff];
Run Code Online (Sandbox Code Playgroud)
更新:我应该在回答之前对此进行测试.事实证明,掩码UIControlStateHighlighted|UIControlStateDisabled表示控件同时被突出显示和禁用时的状态.我错误地认为该面具表示"高亮或禁用".总而言之,你最好先了解Frog先生的答案.
| 归档时间: |
|
| 查看次数: |
4748 次 |
| 最近记录: |