我有一个 UINavigationController。在右上角我有一个按钮,点击它我必须得到一个下拉表格 View 。我用 xib 创建了另一个 UIViewController 类,并将其作为 subview 添加到当前 View 。它应该在第一次点击时出现,在第二次点击时消失。所有点击(打开 View 和关闭 View )都应该发生这种情况。我写了这段代码,但不知道哪里出错了。有人请帮忙
-(void)modalTableView
{
tableView1 = [[TableViewController alloc] initWithNibName:@"TableViewController" bundle:nil];
for (UIView *subView in self.view.subviews)
{
if ([subView isKindOfClass:[TableViewController class]])
{
[subView removeFromSuperview];
}
else
{
[self.view addSubview:tableView1.view];
}
}
}
我在这里错过了什么?
编辑:TableViewController 是我的 UIViewController 类的名称
最佳答案
线索在这里
for (UIView *subView in self.view.subviews)
每个 subview 都属于 UIView 类和您的测试
isKindOfClass:[TableViewController class]
正在测试类 TableViewController
我建议这样做的一种方法是标记您动态添加的 View ,例如 99 - 然后在您的循环中您可以通过它们的标记来识别这些 View 。
例如。
for (UIView *subView in self.view.subviews)
{
if (subView.tag == 99)
{
[subView removeFromSuperview];
}
}
关于ios - Iphone 删除 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9820113/