代码之家  ›  专栏  ›  技术社区  ›  willc2

使用-viewwithtag时返回的uiview是什么:当多个视图具有相同的.tag时?

  •  9
  • willc2  · 技术社区  · 16 年前

    假设我有4个ui视图,都是在ib中创建的,所有的标签属性都为2。

    当我看到以下内容时:

     UIView *thisView = (UIView*)[self.view viewWithTag:2];
    

    检索该uiview的条件是什么,因为有几个具有相同的.tag值?

    它是:

    • 随机的
    • 第一个创造了
    • 超视图中索引最低的视图
    • 别的东西
    3 回复  |  直到 12 年前
        1
  •  11
  •   DrummerB    13 年前

    这很奇怪,但是如果您尝试在具有相同标记的视图中获取视图,那么首先添加的视图将被返回。你也可以这样检查。

    NSLog(@"%@",[[self.view viewWithTag:custTag] class]);
    

    希望这有帮助。

        2
  •  1
  •   Jasper    12 年前

    如果使用Interface Builder,则取决于使用的顺序。在我的例子中,uiActivityIndicator将是我的结果,而不是带有相同标签的uiWebView或uiButton。

    使用。在我的例子中,uiActivityIndicator将是我的结果,而不是具有相同标记的uiWebView或uiButton。

    IB Layout

        3
  •  -5
  •   Oren Mazor    16 年前

    如果我不得不猜测,我会假设它几乎是随机的。在中,您可能会获得一定程度的一致性,但每隔一段时间它就会完全不同(heh)。

    我会说用不同的标签?