Kie*_*ock 9 customization uibutton swift
我正在尝试制作一个UIButton,它在按钮标题的两侧(左侧和右侧)都有一个UIImage.理想情况下,图像将固定在按钮的左侧和右侧,标题将居中,但我可以将图像放在我想的标题标签旁边.我已经能够添加一个图像,它出现在标题之前,但是我如何添加第二个?
NoS*_*ies 11
我知道这是一个老问题,但由于没有提供代码而且有人要求它,我想我会分享我的解决方案.
我所做的是创建一个新类,它是UIButton的子类.我确保您可以在界面构建器中立即看到您所做的所有更改.所以你可以直接拖入UIButton.将类指定为您自己的类,它将允许您设置图像并立即查看它
以下是我为实现这一目标所做的工作
import UIKit
@IBDesignable
class AddProfilePictureView: UIButton {
@IBInspectable var leftHandImage: UIImage? {
didSet {
leftHandImage = leftHandImage?.withRenderingMode(.alwaysOriginal)
setupImages()
}
}
@IBInspectable var rightHandImage: UIImage? {
didSet {
rightHandImage = rightHandImage?.withRenderingMode(.alwaysTemplate)
setupImages()
}
}
func setupImages() {
if let leftImage = leftHandImage {
self.setImage(leftImage, for: .normal)
self.imageView?.contentMode = .scaleAspectFill
self.imageEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: self.frame.width - (self.imageView?.frame.width)!)
}
if let rightImage = rightHandImage {
let rightImageView = UIImageView(image: rightImage)
rightImageView.tintColor = COLOR_BLUE
let height = self.frame.height * 0.2
let width = height
let xPos = self.frame.width - width
let yPos = (self.frame.height - height) / 2
rightImageView.frame = CGRect(x: xPos, y: yPos, width: width, height: height)
self.addSubview(rightImageView)
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3519 次 |
| 最近记录: |