答案 0 :(得分:1)
更改标题和图像插入
还将控件从垂直变为底部
答案 1 :(得分:0)
你可以在你喜欢的位置制作一个单独的UIImage和UILabel,并用透明的UIButton覆盖它们。 这应该可以解决问题。
希望它有所帮助。
答案 2 :(得分:0)
答案 3 :(得分:0)
您可以继承UIButton并重新定义 layoutSubviews 方法。
答案 4 :(得分:0)
您可以调整UIButton
:var titleEdgeInsets: UIEdgeInsets
,var imageEdgeInsets: UIEdgeInsets
的以下属性。
另一种方法是继承UIControl
。它是UIView
子类,旨在用于此类情况。例如,UIButton
是UIControl
的子类。通过这种方式,您可以更好地控制布局,而且您不需要与UIButton
的内置行为作斗争。
您可以使用代码或使用Interface Builder在xib
文件中进行布局。
class MyButton: UIControl {
var imageView: UIImageView
var label: UILabel
// adjust colors for changed states like highlighting, etc.
override var isHighlighted: Bool {
didSet {
if isHighlighted {
backgroundColor = UIColor.grey
} else {
backgroundColor = UIColor.white
}
}
}
override var isSelected: Bool { didSet { ... } }
override var isEnabled: Bool { didSet { ... } }
override init(frame: CGRect) {
super.init(frame: frame)
commonInit()
}
override init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
commonInit()
}
func commonInit() {
imageView = UIImageView(image: UIImage(...))
addSubView(imageView)
label = UILabel(frame: CGRect(...))
addSubView(label)
// TODO: add constraints for layout
}
}