如何在iphone中的Button中使用UIEdgeInsets属性

时间:2009-11-23 05:27:21

标签: ios iphone uiedgeinsets

我是iOS应用程序开发的新手,想知道如何在按钮中使用UIEdgeInsets属性,所以请指导我。

3 个答案:

答案 0 :(得分:75)

首先,你的问题不是很明确,你要尝试实现的目标,所以...提出一般性问题,得到一般答案。

UIButton有三种类型为UIEdgeInsets的属性 - contentEdgeInsetstitleEdgeInsetsimageEdgeInsets。您可以使用这些属性为所有按钮内容分配特定插入内容,包括标题和图像,或单独分配一个或另一个。

使用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。只需给按钮一个更大的高度和宽度限制。标题本身将自动居中。