Swift 调整UIButton中图片与文字位置

方法1:

在需要调整的按钮类中, 重写系统方法

class myButton : UIButton {

override func titleRectForContentRect(contentRect:CGRect) -> CGRect {

    return CGRect

}

override func titleRectForContentRect(contentRect:CGRect) -> CGRect {

    return CGRect

}

}

方法二 重写layout方法

override func layoutSubviews() {

super.layoutSubviews()

titleLabel?.frame.offsetInPlace(dx:  -imageView!.frame.width * 0.5, dy: 0)

imageView?.frame.offsetInPlace(dx:  titleLabel!.frame.width *0.5, dy: 0)

//之所以乘0.5是因为调用了2次

}

方法三 直接修改titleLabel 和 imageView 的x坐标

//swift和oc不一样 swift语法允许我们直接修改一个对象的结构体属性

override func layoutSubviews(){

super.layoutSubviews()

titleLabel?.frame.origin.x = 0

imageView?.frame.origin.x = titleLabel!.frame.width

}

//为了美观 文字和图片中应有些间距

//方法一

override func setTitle(title:String? , forState state: UIControlState) {

//?? 用于判断前面的参数是否为nil,如果是nil就返回??后面的数据 如果是nil就不执行

super.setTitle(title ?? "" + "  ",forState: state)

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容