旋转 UIView 下的 UILabel
Rotating UILabel that is under an UIView
我正在尝试旋转位于(在情节提要上创建的)UIView 下的 UILabel,但是当我尝试 CGAffineTransform(rotationAngle: ) 时,由于 nil 值导致应用程序崩溃。
是因为我用的是故事板吗?
@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
未连接到您的故事板项目
您的代码左侧边栏上有一个加号而不是圆圈。
你应该重新连接它。也许你在重命名时失去了这个连接
我已经设法通过添加带有 ViewController 的标签而不是 UIView 来解决这个问题。
在 ViewController 上使用 prevPitch.transform = CGAffineTransform(rotationAngle: 3.14)
并且有效。
我正在尝试旋转位于(在情节提要上创建的)UIView 下的 UILabel,但是当我尝试 CGAffineTransform(rotationAngle: ) 时,由于 nil 值导致应用程序崩溃。 是因为我用的是故事板吗?
@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
未连接到您的故事板项目
您的代码左侧边栏上有一个加号而不是圆圈。
你应该重新连接它。也许你在重命名时失去了这个连接
我已经设法通过添加带有 ViewController 的标签而不是 UIView 来解决这个问题。
在 ViewController 上使用 prevPitch.transform = CGAffineTransform(rotationAngle: 3.14)
并且有效。