我有一个包含 UIButton 的 UIView。UIButton 为 UIControlStateNormal(“Follow”)和 UIControlStateSelected(“Following”)状态设置了 2 个标题。我在 UIButton 上使用自动布局,它有一个约束,即与父视图顶部有一定距离,而另一个约束与父视图左侧有一定距离。我还在上面使用了“适合内容的大小”。
当我从代码中将按钮设置为处于选定状态时,标题会正确更改,但 UIButton 的固有宽度不会更改,因此当从“跟随”更改为“跟随”时,文本会变成椭圆形。
self.selected = self.following;
当我以不同的方式解决问题并在有人点击按钮时简单地更改 UIControlStateNormal 的文本时,按钮会正确更改大小。
NSString *title = (self.following) ? @"Following" : @"Follow"
[self setTitle:title forState:UIControlStateNormal];
这是 UIKit 中的错误吗?我希望按钮在其状态发生变化时更改其固有大小以正确反映文本的新大小,特别是因为除了 2 个按钮状态的文本之外,我还想更改其他内容。