UIStackView多线按钮重叠

时间:2017-01-19 14:02:09

标签: ios swift uibutton uistackview

我尝试动态添加UIButtonsUIStackView,但遇到了一些奇怪的行为。由于按钮内的文本也是动态的,因此它应该是多行的(默认情况下不是)。所以我设置了这样的休息模式:

 button.titleLabel?.lineBreakMode = NSLineBreakMode.byWordWrapping
 stackView.addArrangedSubview(button)

结果看起来像这样(我制作了不同背景颜色的按钮以更好地说明问题):

The Problem

文字超出按钮的边框并与其他视图重叠。怎么解决这个问题?

UIStackView是从这个简单的xib加载的:

My xib in IB

提前致谢

1 个答案:

答案 0 :(得分:1)

titleLable不受限于按钮的界限,这就是问题所在。您应该扩展UIButton并覆盖layoutSubviews或intrinsicContentSize,或者只是尝试注入约束。