2012-07-20 32 views

回答

12

折扣店的UIViewController對象,其中(幾乎總是)指的UIView對象的實例(或者的UIView的子類)的性質。

UIViewController有一個UIView,當UIViewController加載到initWithNibNamed:時,它是XIB文件的內容。您可以在UIViewController中設置插座,然後通過拖動到列表中的「文件所有者」項目,或者拖動到Xcode助理編輯器中的代碼,將它們綁定到XIB中的各個子視圖。

如果您只想使用代碼,有幾個選項。一種方法是根據其屬性tag直接訪問視圖。例如:

[myView viewWithTag:42]; 

的另一種方法要考慮的是一個UIView有一個叫做subviews屬性,它是子視圖的陣列。您可以遍歷它們並根據需要訪問視圖。要區分它們,您可以根據情況做幾件事情。您可以在視圖上設置標籤,並使用這些標籤。

NSArray *subviews = myView.subviews; 

for(UIView *view in subviews){ 
    if(tag == 42){ 
    // Do something with that view 
    } 
} 

或者,如果你正在尋找一個特定的一種觀點,說,一個UISwitch,這樣的事情可能會在簡單情況下工作:

for(id view in subviews){ 
    if([view isKindOfClass:NSClassFromString(@"UISwitch")]){ 
    // Do something with that view, since it's a switch 

    } 
} 

如果您使用的標籤,你可以在代碼中設置它們,或使用Interface Builder。

+0

優秀和全面的答案。我在迭代和檢查類,但使用標籤更清潔。謝謝。 – Undistraction 2012-07-20 12:57:21

3

嘗試[view viewWithTag:tagOfChildView];

相關問題