UIView viewWithTag 0 problem

2019-01-15 16:20发布

问题:

On view in IB I have numerous items (including view itself). ONLY one item has tag 0, yet following line works for ANY UITextBox other then the one with tag 0. Note that only ONE UITextBox has tag 0, why:

(UITextField *) [self.view  viewWithTag:0]).text = @"foo";

Interesting that when triggered event received for the element with tag 0, I can get value of Tag 0 with no problem.

Is there a limitation to look for tag 0 elements?

回答1:

All views have a 0 tag as a default so if you get a 0 view it could be any view. For it to work you need to use non-zero values that you set in your program or within Interface builder.



回答2:

actually, if you ask a view called "X" for a viewwithtag 'zero', you will probably get the "X" view as the return value :/ idiotic behaviour. send regards to apple



回答3:

que is right. I just got bit by this.

From the docs:

Discussion This method searches the current view and all of its subviews for the specified view.

At least it's documented correctly. I guess we need a method called "subviewWithTag:"



回答4:

set self tag as -1. won't affect other view's tag.