UIButton边框填充

3
这似乎是一个简单的问题,但我在网上找不到解决方案。我使用UIButton的图层来为其创建边框,并且边框已经显示出来了。问题是边框的填充(顶部/右侧/底部/左侧,显然这个术语来自CSS世界)太小了,我想增加它们。我该怎么做?
这是我的代码:
myButton.layer.cornerRadius = 10;
myButton.layer.borderWidth = 2;
myButton.layer.masksToBounds = YES;

按钮看起来就像上面的图片。 Button border with tight padding

这个按钮看起来有点紧凑,但是它的边框很清晰。

@lgc_ustc:能否请你给问题按钮添加一个截图? - Vineesh TP
尝试增加边框宽度了吗? - Rahul Patel
是的,尝试增加borderwidth。它只增加了宽度而不是填充(按钮内容和按钮边框之间的空间)。 - lgc_ustc
4个回答

7
尝试更改contentEdgeInsets。这些是围绕按钮所有内容的矩形的最外边缘的边距。
例如:myButton.contentEdgeInsets = UIEdgeInsetsMake(5,5,5,5);

2
使用UIButtontitleEdgeInsets属性
        myButton.titleEdgeInsets = UIEdgeInsets(5, 5, 5, 5);

根据需要调整插入值!有关titleEdgeInsets的更多详细信息,请参阅Apple Docs


没有。尝试过了,但在视觉上似乎没有任何变化。 - lgc_ustc
UIEdgeInsetsMake是实现这个的方法,就像Asif所说的那样(我点了赞)。但是,根据你的字体,你可能需要将插图调大很多,比如如果你的字体大小为15,那么可以将插图调整为17。你可以在属性检查器中使用IB来调整edgeInsets。你会看到你的UIButtton文本周围有一个虚线框,当你调整4个插图时,框会移动到你的文本周围。 - LevinsonTechnologies

0

你可以像这样减小按钮字体大小:

myButton.titleLabel.font = [UIFont systemFontOfSize:14.0];

或者在Storyboard中或编程中更改按钮的框架大小输入图像描述


你试过你的解决方案吗?对我来说它不起作用。当你减小字体大小时,边框也会缩小。 - lgc_ustc
嗯,你在代码的其他部分做了修改吗?因为我无法使你的代码正常工作(当我减小字体大小时,边框也会缩小)。 - lgc_ustc

0
在iOS 15中,如果您使用UIButtonConfiguration,它将是:
button.configuration.contentInset = UIEdgeInsets(top: 2, left: 4, bottom: 2, right: 4)

对于旧版本:

button.contentEdgeInsets = UIEdgeInsets(top: 2, left: 4, bottom: 2, right: 4)

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