gpt4 book ai didi

swift - 无法在 subview 中设置 var

转载 作者:行者123 更新时间:2023-11-28 15:30:08 25 4
gpt4 key购买 nike

我有一个带有 UIViewController 的应用,其中包含自定义 UIView。我想在该自定义 UIView 中设置一个变量,但它不会更新...我已经这样做了一千次,它总是有效,但这次没有,我真的不知道我做错了什么,欢迎任何帮助!

在我的 View Controller 中:

var sjablonview: sjablonPicker!
sjablonview = sjablonPicker(frame: CGRect(x: btnUndo.frame.origin.x, y: DrawingView.frame.origin.y,
width: (btnX.frame.origin.x + btnX.frame.size.width) - btnUndo.frame.origin.x, height: 250))
sjablonview.alpha = 1
sjablonview.mpUitklapping = 300
self.view.addSubview(sjablonview)

在我的自定义 UIView 中:

class sjablonPicker: UIView {

var mpUitklapping = CGFloat(100)

override init(frame: CGRect){
super.init(frame: frame)

print(mpUitklapping) // --> output = 100 and not 300
...

最佳答案

您正在从初始化程序内部进行打印。在您更改 mpUitklapping 的值之前您的 View 已初始化。您的初始化器从这一行被调用:

sjablonview = sjablonPicker(frame: CGRect(x: btnUndo.frame.origin.x, y: DrawingView.frame.origin.y, width: (btnX.frame.origin.x + btnX.frame.size.width) - btnUndo.frame.origin.x, height: 250))

值已更改,您只是不打印更新后的值。

关于swift - 无法在 subview 中设置 var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44806833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com