如何动态地将动态大小的UIButtons插入UIStackView?

时间:2017-12-21 06:15:49

标签: ios swift uibutton uistackview

这很有效:

                let label = UILabel()
                label.text = VARIABLE_LENGTH_STRING
                stackView?.addArrangedSubview(label)

但这不起作用

                let button = UIButton()
                button.setTitle(VARIABLE_LENGTH_STRING, for: .normal)
                stackView?.addArrangedSubview(button)

什么都没显示!任何想法为什么?我希望标签在按钮上表现得非常相似......

感谢您的帮助!

3 个答案:

答案 0 :(得分:2)

问题是默认情况下 - 新的UIButton()有白色文本和白色背景--- grrrr!

我通过这样做来解决这个问题:

button.setTitleColor(.blue, for: .normal)

答案 1 :(得分:1)

在设置按钮标题

后,尝试在代码中添加以下行
 button.sizeToFit()

答案 2 :(得分:0)

首先检查" VARIABLE_LENGTH_STRING"如果它有空字符串,则不会显示任何内容并给出按钮框大小,这样如果没有文本按钮,高度宽度将是特定的,并且默认情况下更改按钮背景颜色还有一个很明显,所以你只会在屏幕上看到按钮的内容任何通过改变背景颜色和框架你将在屏幕上看到它没有内容显示:)。