Zhe*_*hen 10 objective-c subview uitableview ios
我在单元格的内容视图中添加了一个UIWebview
UIWebView *webview = [UIWebView alloc]init];
[cell.contentView addSubview:webview];
Run Code Online (Sandbox Code Playgroud)
现在我打算从单元格的contentview中删除"webview".
我可以这样做吗?
方法1:
[webview removeFromSuperview];
Run Code Online (Sandbox Code Playgroud)
或者我真的需要在删除之前遍历contentview的所有子视图吗?
方法2:
for (UIView *subview in [self.contentView subviews])
{
if ([subview isKindOfClass:[UIWebView class]])
{
[subview removeFromSuperview];
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了方法1,它似乎没有用,我不确定我是否遗漏了某些东西,或者方法2是唯一的方法
方法1应该可以工作,但是您确定要删除的Web视图与您添加的Web视图真的相同吗?从视图中删除给定子视图的一种简单方法是分配标记:
//...
webView.tag = 123;
[cell.contentView addSubview:webView];
//...
[[cell.contentView viewWithTag:123] removeFromSuperview];
Run Code Online (Sandbox Code Playgroud)
在实践中,使用命名常量作为标记当然会更好.
//creating
// cell.bounds will fill up the cell with your webview
UIWebView *webview = [[UIWebView alloc]initWithFrame:cell.bounds];
webview.tag = 11;
[cell.contentView addSubview:webview];
//removing
[[cell.contentView viewWithTag:11] removeFromSuperview];
Run Code Online (Sandbox Code Playgroud)
你可以只使用removeFromSuperview
. “似乎不起作用”是什么意思?最可能的问题是webview
在nil
您调用的位置removeFromSuperview
(或指向其他视图)。确保它指向您想要的视图。
归档时间: |
|
查看次数: |
10768 次 |
最近记录: |