以编程方式将XIB中的UIView设置为隐藏

时间:2015-12-24 18:25:25

标签: ios objective-c uiview xib

我有一个XIB用于两个不同的视图,因为视图非常相似。在XIB我有一个小视图,基本上是一个垂直线作为分隔符。在一个视图中我想要分隔符,在另一个视图中我不想。

我已将xib链接到其.h文件,我可以通过其他类访问该视图。

Cell.xib - 其中包含我正在讨论的视图分隔符,即UIView * cellSeparator
HomeTableVC.h 这也是xib链接的地方。所有xib元素都链接到这个.h文件。

ChatTable.h / ChatTable.m -

//ViewDidLoad
HomeTableVC* homeTable = [[HomeTableVC alloc] init];
homeTable.cellSeparator.hidden = YES;

所有内容都可以编译并运行正常,但cellSeparator不会被隐藏。

我已尝试将其放入loadViewviewDidLoad,我已尝试在mainThread中调用它,但我似乎无法以编程方式隐藏此UIView 。

我已经考虑过制作XIB但是如果我可以隐藏这个UIView并且没有几乎重复的xib那么这似乎很愚蠢。

感谢任何帮助。感谢。

编辑:我尝试的另一种方法是为cellSeparator设置TAG并通过其标签访问视图,但它仍然不会隐藏。

1 个答案:

答案 0 :(得分:0)

问题在于:

HomeTableVC* homeTable = [[HomeTableVC alloc] init];
homeTable.cellSeparator.hidden = YES;

您实际上并没有隐藏IBoutlet(将XIB组件连接到类文件)的分隔符,而是创建了无法访问XIB组件的新HomeTableVC实例。