我是iOS应用程序开发的新手,想知道如何在按钮中使用UIEdgeInsets
属性,所以请指导我。
答案 0 :(得分:75)
首先,你的问题不是很明确,你要尝试实现的目标,所以...提出一般性问题,得到一般答案。
UIButton有三种类型为UIEdgeInsets的属性 - contentEdgeInsets
,titleEdgeInsets
和imageEdgeInsets
。您可以使用这些属性为所有按钮内容分配特定插入内容,包括标题和图像,或单独分配一个或另一个。
使用UIEdgeInsetsMake()
函数创建UIEdgeInsets值。 UIEdgeInsets分别为顶部,左侧,底部和右侧(分别)的插入值封装了四个不同的CGFloat值。正插入值会缩小内容区域,而负插入值则会有效地增加内容区域。
如果您有关于如何在UIButton中使用UIEdgeInsets的更具体的问题,我建议您重新考虑如何询问并再试一次。 :)
修改(解决评论中的问题): 听起来你想要做以下事情,然后:
UIEdgeInsets titleInsets = UIEdgeInsetsMake(0.0, 7.0, 0.0, 0.0);
button.titleEdgeInsets = titleInsets;
答案 1 :(得分:3)
如果您想要Button的扩展程序并简单使用,请使用此
button.setInset(top:0.0,left:7.0,bottom:0.0,right:0.0)
extension UIButton {
/**
Creates an edge inset for a button
:param: top CGFLoat
:param: left CGFLoat
:param: bottom CGFLoat
:param: right CGFLoat
*/
func setInset(#top: CGFloat, left: CGFloat, bottom: CGFloat, right: CGFloat) {
self.titleEdgeInsets = UIEdgeInsetsMake(top, left, bottom, right)
}
}
答案 2 :(得分:0)
请注意,有时您不需要设置contentEdgeInsets。只需给按钮一个更大的高度和宽度限制。标题本身将自动居中。