Geo*_*old 94 iphone uibutton ios uicontrolstate
我有一个UIButton
,当按下时,会显示一个新视图,用户可以在其中更改某些设置.当视图被取消时,我想更新其标题/文本UIButton
以反映新状态.我打电话给:
[myButton setTitle: @"myTitle" forState: UIControlStateNormal];
[myButton setTitle: @"myTitle" forState: UIControlStateApplication];
[myButton setTitle: @"myTitle" forState: UIControlStateHighlighted];
[myButton setTitle: @"myTitle" forState: UIControlStateReserved];
[myButton setTitle: @"myTitle" forState: UIControlStateSelected];
[myButton setTitle: @"myTitle" forState: UIControlStateDisabled];
Run Code Online (Sandbox Code Playgroud)
但它似乎永远不会改变IB中指定的原始文本/标题.
小智 111
我解决了为UIControlStateNormal设置title参数的问题,它自动适用于其他状态.问题似乎是当你设置另一个UIControlState时.
[myButton setTitle: @"myTitle" forState: UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
Ken*_*isa 51
您是否在视图控制器类中将按钮指定为IBOutlet,并且它是否正确连接为Interface Builder中的插座(从新引用插座拖动到文件所有者并选择您的UIButton对象)?当我看到这些症状时,这通常是我遇到的问题.
编辑:虽然这不是这种情况,但是如果你为按钮设置了属性标题,那么你也会发生类似这样的事情,然后你尝试更改标题而不是属性标题.
Osc*_*car 13
我发现了另一个问题.它可能是iOS 5中引入的一个错误,但我想我会指出遇到它的其他任何人.
如果未在XIB中为按钮设置任何默认文本,则以编程方式设置时不会显示任何文本.如果您在XIB中设置了文本,则随后以编程方式分配给按钮的任何文本都将被截断为默认文本的大小.
最后,如果您使用按钮显示视图然后调用另一个视图(如ActionSheet)然后将其关闭,则以编程方式分配给按钮的文本将被删除,按钮标题将返回到您设置的任何内容在XIB中.
Jes*_*ack 12
即使Caffeine Coma的问题得到解决,我也想提出另一个潜在的原因,标题不会出现在UIButton上.
如果您使用UIButton设置图像
- (void)setImage:(UIImage *)image forState:(UIControlState)state
Run Code Online (Sandbox Code Playgroud)
它可以涵盖标题.我发现这很困难,并想象你们中的一些人最终会因为同样的原因阅读这个页面.
请改用此方法
- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state
Run Code Online (Sandbox Code Playgroud)
按钮图像和标题不会受到影响.
我使用.xib中创建的以编程方式创建的按钮和按钮对此进行了测试
小智 7
对于swift:
button.setTitle("Swift", forState: UIControlState.Normal)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
127175 次 |
最近记录: |