是什么导致 UIButton 标题周围的水平填充?
What causes horizontal padding around title of UIButton?
我以编程方式创建了两个 UIButton
s 并将它们限制为相距 2 点(水平)。我看到额外的 space,所以我点击了 Xcode 中的 "Debug View Hierachy" 按钮,这是我看到的:
是什么导致 "abc" 标题周围出现额外的 space?我查看了按钮的一些可疑属性,它们都是零。 (contentEdgeInsets
, titleEdgeInsets
)
我没有对按钮进行任何操作,除了:
let b = UIButton(type: .system)
b.translatesAutoresizingMaskIntoConstraints = false
b.setTitle("...", for: .normal)
约束看起来像:
b1.centerXAnchor.constraint(equalTo: outer.centerXAnchor)
b2.leftAnchor.constraint(equalTo: b1.rightAnchor, constant: 2)
b2.firstBaselineAnchor.constraint(equalTo: b1.firstBaselineAnchor, constant: 0)
UIButton
的固有最小宽度 为 30 磅。
因此,如果标题文本短于 30 磅,按钮的标题标签将在按钮的 30 磅框架中水平居中。
您可以将宽度明确设置为小于 30,但是您必须采取一些其他步骤才能使按钮 auto-size 具有更长的标题。
我以编程方式创建了两个 UIButton
s 并将它们限制为相距 2 点(水平)。我看到额外的 space,所以我点击了 Xcode 中的 "Debug View Hierachy" 按钮,这是我看到的:
是什么导致 "abc" 标题周围出现额外的 space?我查看了按钮的一些可疑属性,它们都是零。 (contentEdgeInsets
, titleEdgeInsets
)
我没有对按钮进行任何操作,除了:
let b = UIButton(type: .system)
b.translatesAutoresizingMaskIntoConstraints = false
b.setTitle("...", for: .normal)
约束看起来像:
b1.centerXAnchor.constraint(equalTo: outer.centerXAnchor)
b2.leftAnchor.constraint(equalTo: b1.rightAnchor, constant: 2)
b2.firstBaselineAnchor.constraint(equalTo: b1.firstBaselineAnchor, constant: 0)
UIButton
的固有最小宽度 为 30 磅。
因此,如果标题文本短于 30 磅,按钮的标题标签将在按钮的 30 磅框架中水平居中。
您可以将宽度明确设置为小于 30,但是您必须采取一些其他步骤才能使按钮 auto-size 具有更长的标题。