2017-03-22 9 views
0

(스토리 보드에 생성 된) UIView 아래에있는 UILabel을 회전하려고하는데 CGAffineTransform (rotationAngle :)을 시도 할 때 nil 값으로 인해 응용 프로그램이 충돌합니다. 스토리 보드를 사용하고 있기 때문에 원인이 있습니까?UIView 아래에있는 회전 UILabel

enter image description here

@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) 
+0

정확한 오류 메시지를 알려주십시오. – muescha

+0

디버그 영역 (보기/디버그 영역/디버그 영역 표시 또는 CMD + SHIFT + Y)에서 콘솔을 검사하십시오. – muescha

답변

0

나는 UIView 대신 ViewController 레이블을 추가하여이 질문을 해결할 수있었습니다. ViewController에서 prevPitch.transform = CGAffineTransform(rotationAngle: 3.14)을 사용하면 효과가있었습니다.

0

레이블 prevPitch 대신 코드에서 왼쪽 사이드 바에서 원의 플러스가 스토리 보드 항목

에 연결되어 있지 않습니다.

다시 연결해야합니다. 어쩌면 당신이 이름을 바꿀 때이 연결을 잃었 어

+0

예, 그렇습니다. 스토리 보드에서 연결된 라벨을 강조 표시하기 위해 위의 마우스 커서를 놓았 기 때문에 이점입니다. 다시 연결하려고합니다. –

+0

업데이트 : 다시 연결을 시도했지만 여전히 충돌하고 있습니다. 보시다시피, @ IBDesignable조차도 충돌합니다. –

+0

콘솔을보고 왜 충돌했는지 확인 했습니까? – muescha