你可以用圖像插圖做到這一點,但我喜歡用擴展這樣的事情 - 這樣我可以在我的應用程序的任何地方使用它們沒有子。這是我在一個UIButton設置圖像位置代碼:
extension UIButton {
func setImagePosition(at pos:ButtonImagePosition, withAdjustment adj:CGFloat?) {
let _adj:CGFloat = (adj != nil) ? adj! : 0
let width = frame.size.width
var imgWidth = self.imageView?.frame.size.width
switch pos {
case .center:
self.imageEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
case .right:
imgWidth = imgWidth! - _adj
self.imageEdgeInsets = UIEdgeInsets(top: 0, left: width - imgWidth!, bottom: 0, right: 0)
case .left:
self.imageEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: width + imgWidth!)
}
}
}
enum ButtonImagePosition {
case left
case right
case center
}
然後,我把它叫做如下
button.setImagePosition(at: .right, withAdjustment: nil)
我假設(我從來沒有嘗試過這一點),你已經通過了使用帶有偏移量的罐裝'UIButton'等的努力(如果沒有,爲什麼?)所以在我看來,一個簡單的子類應該工作。你有沒有考慮過這個 – dfd
使用這個button.titleLabel.textAlignment = .Center並將背景圖片添加到uibutton –
我應該先說說我是Swift的新手。但這些建議正是我所期待的。 –