【发布时间】:2015-01-21 15:15:35
【问题描述】:
我有一个带有图片和文字的UIButton。如何让图片右对齐,文字左对齐?
【问题讨论】:
-
这里有几个很好的答案:stackoverflow.com/q/4564621/2274694
标签: ios uibutton xcode6 imageedgeinsets
我有一个带有图片和文字的UIButton。如何让图片右对齐,文字左对齐?
【问题讨论】:
标签: ios uibutton xcode6 imageedgeinsets
使用以下两种方法
button.imageEdgeInsets = UIEdgeInsets(top: 0.0, left: 0, bottom: 0.0, right: 0.0)
button.titleEdgeInsets = UIEdgeInsets(top: 0.0, left: 0, bottom: 0.0, right: 0.0)
传递左右的值并调整它。 根据您的要求设置偏移量。
【讨论】:
@IBDesignable class RightImageButton: UIButton {
@IBInspectable var alignImageToRight: Bool = true
override func layoutSubviews() {
super.layoutSubviews()
if alignImageToRight {
if let imageView = self.imageView, let titleLabel = self.titleLabel {
let imageWidth = imageView.frame.size.width
var imageFrame: CGRect = imageView.frame;
var labelFrame: CGRect = titleLabel.frame;
labelFrame.origin.x = self.titleEdgeInsets.left + self.contentEdgeInsets.left
imageFrame.origin.x = frame.width - self.imageEdgeInsets.right - self.contentEdgeInsets.right - imageWidth
imageView.frame = imageFrame;
titleLabel.frame = labelFrame;
}
}
}
}
【讨论】: