从视图中删除 xib 文件
Posted
技术标签:
【中文标题】从视图中删除 xib 文件【英文标题】:Remove xib file from view 【发布时间】:2011-12-21 07:10:31 【问题描述】:我正在从具有表格视图的视图控制器加载一个 xib 文件。
[[NSBundle mainBundle] loadNibNamed:@"NewView" owner:self options:nil])
[self.newView setFrame:CGRectMake(0, 0, 320, 480)];
[[UIApplication sharedApplication].keyWindow addSubview:self.newView];
视图已正确加载。 在 newView 中单击一个按钮,我想删除此视图。
[self.newView removeFromSuperview];
newView 被移除。但是它后面的tableview 没有显示任何东西。它只是显示一个透明的背景。找不到排序的方法。需要帮助
【问题讨论】:
为什么使用 [[UIApplication sharedApplication].keyWindow 作为父视图?你有正确的 tableView 的委托和数据源吗?您是否尝试在从父级删除 newView 后调用 [tableView reloadData] 来刷新 tableView? 我是 Objective c 和 iphone 开发的新手。看来我做事的方式不对。我在整个项目中一直在使用 [UIApplication sharedApplication].keyWindow 来加载 xib 文件。我不明白需要重新加载表格视图数据,也许我遗漏了一些东西。 那么,您确定表格视图的委托和数据源正确吗? 它会自动成为自我。对?你能解释一下吗 我尝试将委托和数据源设置为 self.它似乎不起作用 【参考方案1】:此代码有效。
[[NSBundle mainBundle] loadNibNamed:@"NewView" owner:self options:nil];
[self.newView setFrame:CGRectMake(0, 0, 320, 480)];
[self.view addSubview:newView];
我删除了视图
[self.newView removeFromSuperview];
【讨论】:
以上是关于从视图中删除 xib 文件的主要内容,如果未能解决你的问题,请参考以下文章