UITextFieldをタップしたときはキーボードを表示 or フォーカスを当てて、それ以外のViewをタップしたときはキーボードを閉じたい、という要件、よくあると思います。
andreamazz/UITextField-Shake のサンプルの実装が参考になりました。
// UIViewController
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.view.subviews enumerateObjectsUsingBlock:^(UIView* obj, NSUInteger idx, BOOL *stop) {
if ([obj isKindOfClass:[UITextField class]]) {
[obj resignFirstResponder];
}
}];
}