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。都能实现,由于我项目中用的是代理,就给大家介绍一个代理的...