我是 iOS 应用程序开发的新手,想知道如何UIEdgeInsets
在按钮中使用属性,所以请指导我。
问问题
55705 次
3 回答
78
首先,您的问题对于您要达到的目标不是很清楚,所以……问一个普遍的问题,得到一个普遍的答案。
UIButton 具有 UIEdgeInsets 类型的三个属性 - contentEdgeInsets
、titleEdgeInsets
和imageEdgeInsets
。您可以使用这些属性为所有按钮内容分配特定的插图,包括标题和图像,或者单独分配一个或另一个。
UIEdgeInsetsMake()
您使用该函数创建 UIEdgeInsets 值。UIEdgeInsets 分别为顶部、左侧、底部和右侧(分别)的插入值封装了四个不同的 CGFloat 值。正的插入值会缩小内容区域,而负的插入值会有效地增加内容区域。
如果您对如何将 UIEdgeInsets 与 UIButton 一起使用有更具体的问题,我建议您重新考虑如何询问并重试。:)
编辑(以解决评论中的问题):听起来您想要执行以下操作,然后:
UIEdgeInsets titleInsets = UIEdgeInsetsMake(0.0, 7.0, 0.0, 0.0);
button.titleEdgeInsets = titleInsets;
于 2009-11-23T05:36:32.220 回答
3
如果您想要 Button 的扩展名并简单地使用,请使用此
button.setInset(顶部:0.0,左侧:7.0,底部:0.0,右侧: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)
}
}
于 2015-01-14T22:25:17.817 回答
0
请注意,有时您不需要设置 contentEdgeInsets。只需给按钮更大的高度和宽度约束。标题本身将自动居中。
于 2017-03-02T17:14:48.523 回答