【发布时间】:2018-10-19 09:36:05
【问题描述】:
我有一个类,我在其中定义了一个 CollectionView,我将其用作自定义 TabBar。它有三个单元格,每个单元格代表另一个选项卡。当我选择一个选项卡(因此是 CollectionView 的一个单元格)时,我想更新视图中标签的文本。
在 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)
这将返回我在设置标签时定义的值,因此我实际上可以访问标签,但它不会按照我的意愿更新。关于为什么没有发生这种情况的任何见解?
【问题讨论】:
-
uvController是你定义的Custom UICollectionView吗?
-
@EdisonLo 不,uvController 指的是 UIViewController 包含我的主视图的所有元素。所以tabs.swift只引用了TabBar,它定义在UserViewController中(见上面的代码),高度为44px,下面是longLabel,也是UserViewController中定义的,我要更新一下。
标签: ios swift uicollectionview uilabel