如何从UIButton中移除左侧填充?

6

如何从UIButton中移除左侧padding

我用以下代码创建了一个按钮:

let button = UIButton(...)
button.setImage(UIImage(named: "plus")?.withRenderingMode(.alwaysTemplate), for: .normal)
button.setTitle("Text", for: .normal)
button.layer.cornerRadius = 8
button.layer.backgroundColor = UIColor.red.cgColor

UIButton


简单的button.setTitle("+ Text")是否有效?(即,不嵌入真实图像) - Vexy
2个回答

6

您需要使用一些负的左值来调整imageEdgeInsets和titleEdgeInsets。然后它就会向左移动。我测试过了,100是临时值。

button.imageEdgeInsets = UIEdgeInsets(top: 0.0, left: -100.0, bottom: 0.0, right: 0.0)
button.titleEdgeInsets = UIEdgeInsets(top: 0.0, left: -100.0, bottom: 0.0, right: 0.0)

如果不起作用,请告诉我。


无法工作的 Swift 5。 - Omar N Shamali

1
这行代码可能会解决你的问题。
button.titleEdgeInsets.left = 0 // add left padding.

也许在这种情况下您可以使用负值。

还有另外一种方法:

button.titleEdgeInsets = UIEdgeInsets(top: 0.0, left: 0.0, bottom: 0.0, right: 0.0)

只需尝试不同的值!


如果仍然无法正常工作,则意味着您的图像太大,应该调整其大小。 - Kevin Sabbe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接