我从一个空的垂直堆栈视图和一个大于其内在内容大小的按钮开始。将按钮拖动到堆栈视图中会导致其更改为其内部内容大小。解决这个问题的方法是在按钮标题之前和之后添加空格 有更好的方法吗?
是的,您可以对Button的长度设置约束,但我不想这样做。 UIStackView的想法是让它为你处理必要的约束。
答案 0 :(得分:1)
虽然这可能不是一般意义上的最佳方式,但对于您的特定用例,您可以设置按钮的contentEdgeInsets
:
self.myButton.contentEdgeInsets = UIEdgeInsetsMake(8.0, 8.0, 8.0, 8.0);
这仍将使用 intrinsicContentSize ,但它会为您提供所需的填充。如果你想要一个精确的宽度而不管按钮的标题,那么这对你来说不是一个合适的解决方案。