我不断看到手动遍历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