UIButton Autolayout尺寸设置

时间:2016-02-22 21:35:53

标签: ios uibutton ios-autolayout

我在视图中放置了一个UIButton控件,按钮中有一个大的背景图像,让我们说图像的大小是600 x 300,按钮的大小是100 X 40,现在我想添加限制来限制按钮的宽度> = 100和< = 200取决于标题宽度。

问题是按钮宽度总是拉伸到200而不是实际的标题宽度,因为背景图像太大而不是200像素。但我想要的是使宽度适合除背景图像以外的标题。

我尝试使用setContentHuggingPriority和setContentCompressionResistancePriority在水平方向上降低按钮imageview的优先级,但不幸的是它不起作用。请帮忙!!!

1 个答案:

答案 0 :(得分:1)

您应该为按钮的宽度约束创建一个IBOutlet,然后您可以这样说:

self.buttonWidthConstraint.constant = button.titleLabel?.sizeThatFits(button.frame.size).width

或者如果你在objective-c中需要它:

self.buttonWidthConstraint.constant = [self.button.titleLabel sizeThatFits:self.button.frame.size].width;