像Mr./Ms。青蛙说,设置标题为UIControlStateNormal通常会做伎俩。唯一的例外是如果标题已经设置为其他状态。 UIControlState是一个面具,这样你就可以掩盖你的屁股像这样:
[button setTitle:@"Title" forState:UIControlStateNormal|UIControlStateHighlighted| UIControlStateDisabled|UIControlStateSelected]
如果你试图要简洁:
#define kAllControlStates (UIControlStateNormal|UIControlStateHighlighted| UIControlStateDisabled|UIControlStateSelected)
[button setTitle:@"Title" forState:kAllControlStates];
还是简洁和不透明:
[button setTitle:@"Title" forState:0xffff];
更新:我应该在回答之前测试过。事实证明,像UIControlStateHighlighted|UIControlStateDisabled
这样的掩码表示控件同时高亮显示和禁用的状态。我错误地认为该掩码表示“高亮或已禁用”。总而言之,你最好用青蛙先生的回答。
来源
2010-03-19 19:15:20
Tom
在实践中,我发现情况似乎并非如此:文本神秘地消失,当一个按钮被点击等。这就是说,我不知道我可以重新创建这些情况。如果我发现问题,我会在这里发布。谢谢! – 2010-03-19 18:09:09