欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

Swift UIButton*调整图标按钮中的图标和文字位置

程序员文章站 2021-12-28 21:38:51
...

在 APP 的开发过程中,很多时候我们会需要在 UIButton 的左边或者右边添加 ICON,已经再添加背景图片,但这两者并不冲突。我们使用定制类型(Custom)的按钮就可以设置文字前面的图标。但是图片和文字的相对位置是固定的(按钮在前,文字在后)。下面就给一下我的解决方案。

let signButton = UIButton.init()
signButton.setImage(UIImage.init(named: "sign_icon"), for: UIControlState.normal) //按钮图标
signButton.titleLabel?.font = UIFont.systemFont(ofSize: 14) //文字大小
signButton.setTitle("签到", for: UIControlState.normal) //按钮文字
signButton.setTitleColor(UIColor.white, for: UIControlState.normal) //文字颜色
signButton.setBackgroundImage(UIImage.init(named: "sign_bg"), for: UIControlState.normal) //按钮背景图片
signButton.addTarget(self, action: #selector(signButtonAction), for: UIControlEvents.touchUpInside)
self.contentView.addSubview(signButton)


图片与文字间的间距(imageEdgeInsets 图片偏移量)

signButton.imageEdgeInsets = UIEdgeInsets(top: 0, left: -8, bottom: 0, right: 0)


图片与文字间的间距(titleEdgeInsets 文字偏移量)

signButton.titleEdgeInsets = UIEdgeInsets(top: 0, left: 8, bottom: 0, right: 0)


通过以上方式就能实现在一个 UIButton 上面添加icon图标已经给按钮添加一个背景图片