问题描述
我想为Swift中的iOS项目设计一个带有阴影的圆形按钮。所以我想出了以下自定义按钮类:
import UIKit
@IBDesignable class MainButton: UIButton {
private var shadowLayer: CAShapeLayer!
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func layoutSubviews() {
super.layoutSubviews()
let image = createBackgroundImage()
setBackgroundImage(image,for: UIControl.State.normal)
clipsToBounds = true
contentEdgeInsets = UIEdgeInsets(top: 5,left: 20,bottom: 5,right: 20)
layer.masksToBounds = false
layer.shadowColor = UIColor.black.cgColor
layer.shadowOffset = CGSize(width: 0,height: 3)
layer.shadowOpacity = 0.2
layer.shadowRadius = 6
}
func createBackgroundImage() -> UIImage {
let rect = CGRect(x: 0,y: 0,width: frame.width,height: frame.height)
UIGraphicsBeginImageContextWithOptions(frame.size,false,0)
let color = UIColor.white
color.setFill()
UIBezierPath(roundedRect: rect,cornerRadius: frame.height * 0.5).addClip()
color.setFill()
UIRectFill(rect)
let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return image
}
}
在我的情节提要中为按钮设置此类后,“ IBDEsignablesAgent-iOS”进程将占用我将近100%的CPU,Xcode会自动将其挂起。此行为使得几乎不可能正确调试问题。
我可以肯定我以错误的顺序或错误的方法做某事。但是我不知道如何解决。希望这里有人可以为我指明正确的方向。
谢谢, 詹斯
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)