您如何使用幻灯片实时更新“Getter”

我遵循了本教程 HERE. 我用它来创建一个水平页面控制滑块,我愿意承认可能有比这更简单的方法,但这是我目前所处的位置。

我有一个名为“View”的 .xib 文件正在被引用。

var pages : [View] {
        get {
            let page1: View = Bundle.main.loadNibNamed("View",owner: self,options: nil)?.first as! View
            
            page1.colorLabel1.text = "Page 1"
            
            let page2: View = Bundle.main.loadNibNamed("View",options: nil)?.first as! View
            
            page2.colorLabel1.text = "Page 2"
 
            return [page1,page2]
        }
    }

当我尝试更新特定页面上的元素时遇到了困惑。 示例:我在 page1 上有一个文本字段,我希望它的内容更改 page2 上的 label.text。但我不知道如何做这样的动作。

我已经在 .xib 中试过了:

 @IBaction func negBeliefTextFieldaction(_ sender: Any) {
        Label.text = TextFeild.text!        
    }

显然,这只会更改当前 page1(幻灯片)的标签,因此它会更改声明操作的幻灯片上的标签,但一旦我在 page2/slide2 上,它就不会影响相同的标签。所以我似乎无法通过按钮操作更改特定页面上的标签。

好吧,我可以......有点,这是我尝试过的另一件事: 在 .xib 中添加了这个

 @IBaction func negBeliefTextFieldaction(_ sender: Any) {
Var1 = TextFeild.text!
}

然后我把它放在 VC 中显示的第一个代码块

let page2: View = Bundle.main.loadNibNamed("View",options: nil)?.first as! View
page2.TextFeildLabel.text = Var1

这将文本字段文本分配给另一个 swift 文件中声明的变量,我可以在任何地方引用该变量。在第二个块中,我引用了该变量,但这不起作用,因为它在最初加载时已经加载了变量内容。意思是——它只包含动作之前的变量内容,它不会更新内容,直到我通过返回到前一个视图控制器刷新视图控制器本身,然后返回到带有页面控制器和滑块的视图控制器。

我也对集合进行了简短的试验,但我无法让它们以我在这里想要的方式工作,而且这里的例子通常过于简单。

iCMS 回答:您如何使用幻灯片实时更新“Getter”

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/101139.html

大家都在问