viewWithTag返回self

时间:2012-07-17 15:53:45

标签: uiview uiscrollview

我对函数viewWithTag有一个奇怪的行为。 我的故事板看起来像这样:

-viewController
--UIScrollView1 (should be a UIView but not changing yet)
---Object with tag 1 to 11
---Some other object with tag 0
--UIScrollView2 (should be a UIView but not changing yet)
---Object with tag 1 to 11
---Some other object with tag 0
我的代码,我做[UIScrollView1 wiewWithTag:(1到11)](每次演员都是好的对象,它运作良好。 我对UIScrollView2做了同样的事情,但是每次UIScrollView2返回viewWithTag,所以我永远不会匹配任何标记对象。

仅用于调试目的,我不做UIScrollView2更新并尝试使用其他值UIScrollView1进行更新,并且它仅为一个对象返回UIScrollView1,一个UIImageView(唯一一个)。 但所有UILabel再次正常工作。

有人有一些线索可以帮助我吗?

PS:标签对象被检查了10次,我使用的函数如下: - (void)updateWithScroll:(UIScrollView *)myScroll 所以它与1或2相同:(

提前致谢,
达明

2 个答案:

答案 0 :(得分:1)

尝试自行浏览子视图,快速枚举subviews或使用其他循环。

我遇到了同样的问题而我没有想到这种行为,但我可以选择不保留根视图标记并将其设置为-1,这是一个从未使用过的值。

答案 1 :(得分:0)

我假设UIScrollView2的标签是0,所以带标签0的第一个视图是你的UIScrollView2本身。

您可能应该为UIScrollView2的每个子视图提供不同的标记,并且始终与UIScrollView2的标记不同。

例如,你可以为你的scrollView标签保留0,为它的子视图保留1,2,3 ....

相关问题