有没有办法在UIButton上setTitle一次更新所有UIControlStates?

Chr*_*aft 31 iphone swift

我有一个UIButton,我想更新它的标题,但我不必总是为每个状态执行此操作,如下所示:

[myButton setTitle:@"Play" forState:UIControlStateNormal];

[myButton setTitle:@"Play" forState:UIControlStateHighlighted];

[myButton setTitle:@"Play" forState:UIControlStateSelected];
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

fbr*_*eto 63

根据文档,您只需要致电:

[myButton setTitle:@"Play" forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

UIButton文档解释了原因:

通常,如果没有为状态指定属性,则默认使用UIControlStateNormal值.如果未设置UIControlStateNormal的值,则该属性默认为系统值.因此,您至少应该设置正常状态的值.

也就是说,如果您只设置正常值,则其他状态将在设置时引用它.

  • 这不是我的经历 (2认同)

小智 7

或者你可以通过以下方式设置标题:

[myButton setTitle:@"Play" forState:UIControlStateNormal|UIControlStateHighlighted|UIControlStateSelected];
Run Code Online (Sandbox Code Playgroud)