当子视图的标签为零时,WebView 会从视图中删除

Posted

技术标签:

【中文标题】当子视图的标签为零时,WebView 会从视图中删除【英文标题】:WebView is removed from View when it's subview's tag is zero 【发布时间】:2014-04-15 18:50:34 【问题描述】:

我的代码在webview.scrollview 添加了一堆按钮,它们都有不同的标签,但是当我尝试删除标签号为0 的按钮时,Web 视图也会从视图中删除。

当我将 web 视图添加到 self.view 时,我设置了 web 视图的标签 webView.tag=121212;webView.scrollView.tag=121211;

然后我打电话

- (void)removeButtonFromScrollView:(NSInteger)butonTag

    [(UIButton*)[webView.scrollView viewWithTag:butonTag]  removeFromSuperview];

如何确保仅从 Web 视图中删除按钮,而不是 Web 视图本身。

【问题讨论】:

每个视图都有一个默认标记 0。切勿将 0 用作显式标记。从 1 或其他值开始。 【参考方案1】:

不要使用带有0 值的标签。如果您生成标签,请将它们保存在某个地方以供以后检查。

例如你可以NSMutableSet,它只能包含唯一值。或者只是尝试使用此标签获取视图。

if ([self.view viewWithTag:tag]) 
 // don't use it, generate another one

【讨论】:

以上是关于当子视图的标签为零时,WebView 会从视图中删除的主要内容,如果未能解决你的问题,请参考以下文章

当标签的文本为零时,如何轻松折叠标签周围的垂直空间?

当获取的数据为零时隐藏表格视图单元格,从而减少单元格大小

当子视图不在视图区域中时,安全区域在 iPhone X 上无法正常工作

图像为零时具有固定尺寸 UIImageView 的自动布局?

当子视图添加越界时动态调整父视图大小

当子视图显示在滚动视图上方时,它不会滚动