为UIButton
添加自定义图像或背景很容易,但是似乎没有编程方式为UIButton
设置以下默认iOS图标之一,我知道它可以应用于导航栏按钮,不需要,我想将其应用于简单的UIButton
,有任何提示吗?
对于Swift 5,语法为:
import UIKit
extension UIImage {
public convenience init?(_ systemItem: UIBarButtonItem.SystemItem) {
guard let sysImage = UIImage.imageFrom(systemItem: systemItem)?.cgImage else {
return nil
}
self.init(cgImage: sysImage)
}
private class func imageFrom(systemItem: UIBarButtonItem.SystemItem) -> UIImage? {
let sysBarButtonItem = UIBarButtonItem(barButtonSystemItem: systemItem, target: nil, action: nil)
//MARK:- Adding barButton into tool bar and rendering it.
let toolBar = UIToolbar()
toolBar.setItems([sysBarButtonItem], animated: false)
toolBar.snapshotView(afterScreenUpdates: true)
if let buttonView = sysBarButtonItem.value(forKey: "view") as? UIView{
for subView in buttonView.subviews {
if subView is UIButton {
let button = subView as! UIButton
let image = button.imageView!.image!
return image
}
}
}
return nil
}
}
现在您可以做
摘自Apple文档:init(type:)