2016-05-04 96 views
2

我想在标题的东西右侧添加图像这样对齐图像

|Button [image]| 
|title   | 

,我能够通过这个代码来实现这一

button.titleEdgeInsets = UIEdgeInsetsMake(0, -10, 0, 0) 
button.imageEdgeInsets = UIEdgeInsetsMake(0, 135, 0, 5) 

但是,当标题很大时,标题标签和图像相互交叉。 我怎样才能打破标题标签?

+0

检查答案。它将永远不会与图像相交。 – Sahil

回答

3

试试这个,它永远不会相互交叉标题和图像。我在故事板中创建了一个按钮。 @IBOutlet weak var myButton: UIButton!

let somespace: CGFloat = 10 

    self.myButton.setImage(UIImage(named: "cross"), forState: UIControlState.Normal) 

    self.myButton.imageEdgeInsets = UIEdgeInsetsMake(0, self.myButton.frame.size.width - somespace , 0, 0) 

    print(self.myButton.imageView?.frame) 

    self.myButton.titleEdgeInsets = UIEdgeInsetsMake(0, (self.myButton.imageView?.frame.width)! + somespace, 0, 10) 

enter image description here

,如果你想为按钮变线突破模式多标题按钮的标题

self.myButton.titleLabel!.lineBreakMode = NSLineBreakMode.ByWordWrapping 

enter image description here

雨燕3.0

在swift 3.0中,您可以在界面构建器中轻松完成。

选择UIButton - >属性检查器 - >转到大小检查器并修改图像或标题插入。并且如果您希望按钮右侧的图像只需在语义视图实用程序中选择力Right-to-left

enter image description here