我对函数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相同:(
提前致谢,
达明
答案 0 :(得分:1)
尝试自行浏览子视图,快速枚举subviews
或使用其他循环。
我遇到了同样的问题而我没有想到这种行为,但我可以选择不保留根视图标记并将其设置为-1,这是一个从未使用过的值。
答案 1 :(得分:0)
我假设UIScrollView2的标签是0,所以带标签0的第一个视图是你的UIScrollView2本身。
您可能应该为UIScrollView2的每个子视图提供不同的标记,并且始终与UIScrollView2的标记不同。
例如,你可以为你的scrollView标签保留0,为它的子视图保留1,2,3 ....