import UIKit
// 自定义button
class myButton: UIButton {
// 重写isHighlighted (重写目的: 在改变btn的transform时 不让去其调用layoutSubviews)
//因为这时一旦调用layoutSubviews , btn的位置也会跟着变化
override var isHighlighted: Bool {
get {
return false
} set {
// 空实现
}
}
override init(frame: CGRect) {
super.init(frame: frame)
// 设置图片的模式 -> 原始大小居中显示
imageView?.contentMode = .center
// 设置文字居中
titleLabel?.textAlignment = .center
//--------------下面这些也可以在外部设置---------------
// 设置文字颜色
self.setTitleColor(UIColor.darkGray, for: .normal)
// 设置文字字体大小
titleLabel?.font = UIFont.systemFont(ofSize: 14)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
// ----------调整系统子控件的位置-------重要--------
override func layoutSubviews() {
super.layoutSubviews()
// 设置图片的大小
// 执行transform动画,不能使用frame(注意)
imageView?.width = width
imageView?.height = width
// 图片的y轴
imageView?.y = 0
// 设置文字label的大小
titleLabel?.width = width
titleLabel?.height = height - width
// 设置title的y坐标
titleLabel?.y = width
titleLabel?.x = 0
}
}
ios 自定义Button实现 按钮标题在图标下方
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 在cell类的.h中添加 在cell类的.m中Button的点击方法中添加 然后在控制器的UITableViewD...
- iOS常用到有标题同时有图片的按钮,但是系统控件默认只提供图片在左,标题在右的样式,想要其他的样式就需要自己处理,...
- 下面给大家介绍一下写法。用代理tag值,或者用Block。都能实现,由于我项目中用的是代理,就给大家介绍一个代理的...