gpt4 book ai didi

ios - 调整 titleEdgeInsets 和 imageEdgeInsets 时,UIButton 上的标题和文本之间的间距不正确

转载 作者:行者123 更新时间:2023-11-29 05:28:02 27 4
gpt4 key购买 nike

我想调整 UIButton 上文本和图像之间的间距,

let space = 10
button.contentHorizontalAlignment = .left
button.titleEdgeInsets = UIEdgeInsets(top: 0, left: space, bottom: 0, right: 0)

enter image description here

看起来不错,图中的空间绝对是10。

现在,我希望它们居中,

let space = 10
button.contentHorizontalAlignment = .center
button.titleEdgeInsets = UIEdgeInsets(top: 0, left: space, bottom: 0, right: 0)

enter image description here

看上去小了很多,空间只有5。我是从Reveal上找到的。

为什么空间减少了一半?

我搜索了,this告诉我如何将标题和图像中心作为一个实体。它会像这样调整它们的空间:

CGFloat spacing = 10; // the amount of spacing to appear between image and title
tabBtn.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, spacing);
tabBtn.titleEdgeInsets = UIEdgeInsetsMake(0, spacing, 0, 0);

是的,它确实运作良好,但为什么呢?从信中看,空格应该是20,不是吗?

Here是一个例子,有什么帮助吗?

提前致谢。

最佳答案

您没有像这样设置imageEdgeInsets:

rightButton.imageEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 10)

所以总代码在这里:

leftButton.contentHorizontalAlignment = .left
leftButton.imageView?.backgroundColor = .red
leftButton.titleLabel?.backgroundColor = .gray
leftButton.titleEdgeInsets = UIEdgeInsets(top: 0, left: 10, bottom: 0, right: 0)

rightButton.contentHorizontalAlignment = .center
rightButton.imageView?.backgroundColor = .red
rightButton.titleLabel?.backgroundColor = .gray
rightButton.imageEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 10)
rightButton.titleEdgeInsets = UIEdgeInsets(top: 0, left: 10, bottom: 0, right: 0)

原因:实际上你需要设置 imageEdgeInsets 左对齐或居中对齐但是当其左对齐图像时,右侧没有空间可以设置 Insets。

查看此代码:

leftButton.imageEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 100)

这里也没有空间。

回家后你就会了解插图是如何工作的:

为您提供更多帮助:

Click here

关于ios - 调整 titleEdgeInsets 和 imageEdgeInsets 时,UIButton 上的标题和文本之间的间距不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57966730/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com