2009-12-30 4 views
8

Sagen, ich habe 4 UIViews, in IB hergestellt, die alle mit dem Tag-Eigenschaft = 2Welche UIView wird zurückgegeben, wenn -viewWithTag verwendet wird: Wenn mehrere Ansichten dasselbe Tag haben?

Wenn ich eine Ansicht mit:

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

Was das Kriterium für die Beschaffung dass UIView ist, da mehrere die gleiche haben .tag Wert?

Ist es:

  • Zufalls
  • die erste
  • die Ansicht mit dem niedrigsten Index erstellt darin Superview ist
  • etwas anderes

Antwort

10

Es ist seltsam, aber die Ansicht, die zuerst hinzugefügt wird, wird zurückgegeben, wenn Sie versuchen, die Ansichten unter den Ansichten mit demselben Tag zu erhalten. Sie können es auch auf diese Weise überprüfen.

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

Hoffe, das hilft.

-5

wenn ich raten müsste, Ich würde annehmen, dass es fast zufällig sein würde. wie in, werden Sie wahrscheinlich etwas Konsistenz bekommen, aber ab und zu wird es etwas ganz anderes (heh).

Ich würde sagen, verwenden Sie verschiedene Tags für sie?

+2

, die auf die Frage keine Antwort gibt, sollte Antworten Vermutungen bestehen nicht – thgc

1

Wenn Sie den Interface Builder verwenden, hängt es davon ab, welche Reihenfolge Sie verwenden. In meinem Fall wird UIActivityIndicator mein Ergebnis sein und nicht UIWebView oder UIButton mit dem gleichen Tag.

IB Layout

Verwandte Themen