Sha*_*K M 35 uitableview addsubview ios drop-down-menu
我有一个UINavigationController.在右上方我有一个按钮点击,我必须得到一个下拉表视图.我创建了另一个UIViewController类,使用xib并将其作为子视图添加到当前视图中.它应该出现在第一次点击并在第二次点击时消失.所有点击都会发生这种情况(打开视图和关闭视图).我写了这段代码,但不知道我哪里出错了.有人请帮忙
-(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];
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里失踪了什么?
编辑:TableViewController是我的UIViewController类的名称
Dam*_*amo 66
线索就在这里
for (UIView *subView in self.view.subviews)
Run Code Online (Sandbox Code Playgroud)
每个subView都是UIView类和你的测试
isKindOfClass:[TableViewController class]
Run Code Online (Sandbox Code Playgroud)
正在测试类TableViewController
我建议这样做的方法是标记你动态添加的视图,例如99 - 然后在你的循环中你可以通过它们的标记识别这些视图.
例如.
for (UIView *subView in self.view.subviews)
{
if (subView.tag == 99)
{
[subView removeFromSuperview];
}
}
Run Code Online (Sandbox Code Playgroud)
Sur*_*gch 11
这个答案适用于那些不熟悉Objective-C的人.它比问题更笼统.
要删除单个子视图:
subView.removeFromSuperview()
Run Code Online (Sandbox Code Playgroud)
要删除所有子视图:
for subView in self.subviews as [UIView] {
subView.removeFromSuperview()
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55268 次 |
| 最近记录: |