我在 Interface Builder 中内置了一个 UIButton,它有一个默认标签。在 Xcode 中,我动态更改标签文本,如下所示:
myButton.titleLabel.text = @"this is the new label";
但是,当文本更新时,新字符串将被裁剪为与原始字符串相同的大小,最终看起来像:
this...label
有谁知道为什么会发生这种情况?
你应该使用设置标题:forState: http://developer.apple.com/library/ios/documentation/UIKit/Reference/UIButton_Class/UIButton/UIButton.html#//apple_ref/doc/uid/TP40006815-CH3-SW7更改标题UIButton
。如果您自己更改标题,该按钮不会表明需要调整标签大小 - 您最终必须执行以下操作:
myButton.titleLabel.text = @"this is the new label";
[myButton setNeedsLayout];
但我什至不确定这是否适用于所有情况。方法如setTitle:forState:
提供这样您就可以为多个状态提供标题,而无需手动更新按钮,并且按钮知道它需要使用新标题进行布局。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)