旋转UIView下的UILabel(Rotating UILabel that is under an UIView)
我试图旋转一个UILabel,它是在一个(在storyboard上创建的)UIView下的,但是当我尝试CGAffineTransform(rotationAngle:)时,它会崩溃应用程序,因为它没有值。 是因为我在使用故事板而造成的吗?
@IBDesignable class AnalogView: UIView { @IBOutlet var prevPitch:UILabel! @IBOutlet var currectPitch:UILabel! @IBOutlet var nextPitch:UILabel! fileprivate let thickHorizontalLayer = CAShapeLayer() fileprivate let thinHorizontalLayer = CAShapeLayer() fileprivate let roundThinLayer = CAShapeLayer(layer: self) fileprivate let roundThickLayer = CAShapeLayer(layer: self) @IBInspectable var thickYCoord: CGFloat = 50.0 @IBInspectable var thinYCoord: CGFloat = 52.5 @IBInspectable var counterColor: UIColor = UIColor.orange override init(frame: CGRect = .zero) { super.init(frame: frame) configure() } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } private func configure() { prevPitch.transform = CGAffineTransform(rotationAngle: 3.14)
I'm trying to rotate an UILabel that is under a (created on storyboard) UIView but it's crashing the application due nil value when I try to CGAffineTransform(rotationAngle: ). Is it causing because I'm using storyboard?
@IBDesignable class AnalogView: UIView { @IBOutlet var prevPitch:UILabel! @IBOutlet var currectPitch:UILabel! @IBOutlet var nextPitch:UILabel! fileprivate let thickHorizontalLayer = CAShapeLayer() fileprivate let thinHorizontalLayer = CAShapeLayer() fileprivate let roundThinLayer = CAShapeLayer(layer: self) fileprivate let roundThickLayer = CAShapeLayer(layer: self) @IBInspectable var thickYCoord: CGFloat = 50.0 @IBInspectable var thinYCoord: CGFloat = 52.5 @IBInspectable var counterColor: UIColor = UIColor.orange override init(frame: CGRect = .zero) { super.init(frame: frame) configure() } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } private func configure() { prevPitch.transform = CGAffineTransform(rotationAngle: 3.14)最满意答案
您的标签prevPitch未连接到您的故事板项目
代码左侧有一个加号,而不是一个圆。
你应该重新连接它。 当你重新命名时,你可能会失去这种联系
I've managed to solve this question by adding the labels with ViewController instead of the UIView. Used prevPitch.transform = CGAffineTransform(rotationAngle: 3.14) on ViewController and it worked.
更多推荐
发布评论