gpt4 book ai didi

ios - 选择 UICollectionViewCell 时更改标签文本

转载 作者:行者123 更新时间:2023-11-28 10:37:09 24 4
gpt4 key购买 nike

我有一个类,我在其中定义了一个 CollectionView,我将其用作自定义 TabBar。它包含三个单元格,每个单元格代表另一个选项卡。当我选择一个选项卡(因此它是 CollectionView 的一个单元格)时,我想更新 View 内标签的文本。

在 tabs.swift(设置自定义标签栏的神奇之处)中,我添加了以下函数:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {

let uvController = UserViewController()
uvController.longLabel.text = "Test"

}

在 UserViewController 中,我这样调用它:

let ProfileTabs: profileTabs = {

let tabs = profileTabs()
return tabs

}()

它显示了我想要的所有选项卡,但是当我选择它时,标签没有更新。但是,当我执行打印操作时,它会返回标签的值:

print(uvController.longLabel.text)

这会返回我在设置标签时定义的值,因此我实际上可以访问标签,但它不会按我希望的方式更新。关于为什么没有发生这种情况的任何见解?

最佳答案

let uvController = UserViewController()

这一行就是问题所在。

您实例化了一个新的 UserViewController 而不是引用您当前的 UserViewController,因此标签不是同一个标签。可以打印(UserViewController)查看,地址应该不一样。

我建议您可以在 Tabs.swift 中定义一个协议(protocol),并让您的 UserViewController 成为它的委托(delegate),以接收更新操作。

同时,let ProfileTabs: profileTabs 也不是一个好的命名约定,通常自定义类应该是大写字母而不是变量。

关于ios - 选择 UICollectionViewCell 时更改标签文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52889689/

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