焦點在UITextField或UITextView中的時候,鍵盤會出現,想點一下背景就讓鍵盤消失。這是在手持設備上服合用戶的操作習慣。當然方法有很多,在這兒我說一個比較實用的方法。
因為UIView默認是不能關聯方法調用的,而UIControl則不一樣,它可以關聯很多方法。而UIControl是UIView的子類,它有UIView的所有特性,於是我們可以把我們的UIView修改為UIControl類,這樣再給它關聯一個事件,一般就是up in side,這樣在這個關聯的事件裡我們dismiss所有的UITextField或UITextView.
這兒有一個遞歸找view上所有的UiTextField或UITextView,並dismiss的主法:
- (void)resignKeyBoardInView:(UIView *)view
{
for (UIView *v in view.subviews) {
if ([v.subviews count] > 0) {
[self resignKeyBoardInView:v];
}
if ([v isKindOfClass:[UITextView class]] || [v isKindOfClass:[UITextField class]]) {
[v resignFirstResponder];
}
}
}
這個方法是不是很實用呀?實用就頂一個!你們的支持是我無限的動力。