我不斷看到手動遍歷UIView中某個類型的所有子視圖的示例。例如,如果你想有一個鍵盤之外的點擊取消鍵盤無論哪個字段處於活動狀態,可能會:獲取UIView類型
-(IBAction)backgroundClick:(id)sender
{
[myTextField resignFirstResponder];
[myOtherTextField resignFirstResponder];
// ... repeat for each of my zillion text fields.
}
取而代之的是這樣的:
for(UIView *v in self.view.subviews)
if(v.hasKeyboard) // or something like java's instanceof
[v resignFirstResponder];
雖然改進的具體(例如現在發現哪一個是第一響應者),我對此表示讚賞,我對一般情況更感興趣。
謝謝!我可以在幾個地方使用它!對於文本字段編輯的特定情況,我最終還發現你可以[self.view endEditing:YES]而不是迭代。 – 2010-09-02 14:10:41