以编程方式将 XIB 中的 UIView 设置为隐藏
programmatically set UIView in XIB to hidden
我有一个 XIB
在两个不同的视图中使用,因为这些视图非常相似。在 XIB
中,我有一个小视图,基本上是一条用作分隔符的垂直线。在一个视图中我想要分隔符,在另一个视图中我不需要。
我已经将 xib 链接到它的 .h 文件,我可以通过我的另一个 class.
访问视图
Cell.xib - 它具有我正在谈论的视图分隔符,即 UIView*cellSeparator
HomeTableVC.h 这也是 xib 链接的地方。所有 xib 元素都链接到这个 .h 文件。
ChatTable.h/ChatTable.m -
//ViewDidLoad
HomeTableVC* homeTable = [[HomeTableVC alloc] init];
homeTable.cellSeparator.hidden = YES;
一切都编译并运行良好,但 cellSeparator
没有被隐藏。
我试过将它放在 loadView
、viewDidLoad
中,我试过在 mainThread
中调用它,但我似乎无法以编程方式隐藏此 UIView。
我考虑过只制作 XIB,但如果我可以隐藏这个 UIView 而没有几乎重复的 xib,那似乎很愚蠢。
感谢任何帮助。谢谢。
编辑:我尝试的另一种方法是为 cellSeparator 设置标签并通过其标签访问视图,但它仍然没有隐藏。
问题出在这里:
HomeTableVC* homeTable = [[HomeTableVC alloc] init];
homeTable.cellSeparator.hidden = YES;
您实际上并没有隐藏 IBoutlet
中的分隔符(它将 XIB 组件连接到 class 文件),而是创建了无法访问 XIB 的 HomeTableVC
的新实例组件。
我有一个 XIB
在两个不同的视图中使用,因为这些视图非常相似。在 XIB
中,我有一个小视图,基本上是一条用作分隔符的垂直线。在一个视图中我想要分隔符,在另一个视图中我不需要。
我已经将 xib 链接到它的 .h 文件,我可以通过我的另一个 class.
访问视图Cell.xib - 它具有我正在谈论的视图分隔符,即 UIView*cellSeparator
HomeTableVC.h 这也是 xib 链接的地方。所有 xib 元素都链接到这个 .h 文件。
ChatTable.h/ChatTable.m -
//ViewDidLoad
HomeTableVC* homeTable = [[HomeTableVC alloc] init];
homeTable.cellSeparator.hidden = YES;
一切都编译并运行良好,但 cellSeparator
没有被隐藏。
我试过将它放在 loadView
、viewDidLoad
中,我试过在 mainThread
中调用它,但我似乎无法以编程方式隐藏此 UIView。
我考虑过只制作 XIB,但如果我可以隐藏这个 UIView 而没有几乎重复的 xib,那似乎很愚蠢。
感谢任何帮助。谢谢。
编辑:我尝试的另一种方法是为 cellSeparator 设置标签并通过其标签访问视图,但它仍然没有隐藏。
问题出在这里:
HomeTableVC* homeTable = [[HomeTableVC alloc] init];
homeTable.cellSeparator.hidden = YES;
您实际上并没有隐藏 IBoutlet
中的分隔符(它将 XIB 组件连接到 class 文件),而是创建了无法访问 XIB 的 HomeTableVC
的新实例组件。