如何在 swift 中保存 UILable 在 UIView 中的属性?



import UIKit

类 关于视图: UIView{

@IBOutlet var aboutView: UIView!
@IBOutlet weak var studioTXT: UILabel!
@IBOutlet weak var closeBTN: UIButton!
var studioTxtTo : CGFloat
override init(frame: CGRect) {
super.init(frame: frame)
initializeViews()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
initializeViews()
}
private func initializeViews(){
Bundle.main.loadNibNamed("AboutView", owner: self)
addSubview(aboutView)
studioTxtTo = self.studioTXT.frame.origin.y
self.studioTXT.frame.origin.y = self.studioTXT.frame.origin.y + 55
}
@IBAction func onIn(_ sender: Any) {
in()
}
func in(){
UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 0.7, initialSpringVelocity: 0.0, options: .curveEaseInOut, animations: {
self.studioTXT.frame.origin.y = self.studioTxtTo
}, completion: { _ in
//
})
}

}

我需要保存标签的原始 Y peropertie 来创建动画,但在 studioTxtTo 的 super.init(帧:帧(和 super.init(编码器:aDecoder( 中出现错误

您需要为 studioTxtTo 提供初始值,例如将定义更改为:

var studioTxtTo : CGFloat = 0.0

您有一个实例属性studioTxtTo。在初始值设定项完成初始化时,必须以某种方式为此实例属性指定一个初始值。正如错误消息正确告诉您的那样,您未能执行此操作(在两个初始值设定项中(。做吧。

最新更新