UIView의 하위보기로 추가 된 UIScrollView가있는 응용 프로그램이 있습니다. 이 스크롤보기에는 키보드 유형이 numberPad로 설정된 텍스트 필드가 있습니다. 이제 문제는 스크롤보기의 다른 곳을 탭할 때 키보드를 닫으려는 것입니다. 내가 어떻게 할 수 있니?NumPad 키보드를 UIScrollView에서 닫습니다.
1
A
답변
1
터치 핸들러에서 textField의 resignFirstResponder를 호출하기 만하면됩니다.
(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { [myTextField resignFirstResponder]; }
0
내가 UIScrollView
의 서브 클래스에 제스처를 추가 할 때, 나는 그런보기를, 하위 뷰를 클릭 스크롤 할 수있는 등 서로 간섭 내보기 트리의 다양한 제스처, 문제가,되었다가 키보드는 모든 경우에 해제됩니다. 이 솔루션은 UIScrollView
또는 UIViewController
의 수퍼 클래스에서 설정할 수 있습니다.
DismissKeyboardTapGesture
클래스는 ARC를 사용하고보기 아래의 텍스트 입력란에서 작동하며 버튼과 같은 하위보기에서 클릭을 인계하지 않습니다. 또한 iOS7 스크롤 효과를 이용하여 키보드를 닫습니다.
_dismissKeyboard = [[DismissKeyboardTapGesture alloc] initWithView:self];
또는의 UIViewController에서 : UISScrollView의 슈퍼 클래스에서 설정
여기
_dismissKeyboard = [[DismissKeyboardTapGesture alloc] initWithView:self.view];
클래스입니다 : 솔루션에 대한
이@interface DismissKeyboardTapGesture : NSObject <UIGestureRecognizerDelegate>
@end
@implementation DismissKeyboardTapGesture
- (id)initWithView:(UIView *)view
{
self = [super init];
if (self) {
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTap:)];
singleTap.cancelsTouchesInView = NO;
singleTap.delegate = self;
[view addGestureRecognizer:singleTap];
if ([view respondsToSelector:@selector(setKeyboardDismissMode:)]) {
// Bonus effect to dismiss keyboard by scrolling
((UIScrollView *)view).keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive;
}
}
return self;
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
// Don't stop any existing gestures in our view from working
if (otherGestureRecognizer.view == gestureRecognizer.view) {
return YES;
}
return NO;
}
- (void)singleTap:(UIGestureRecognizer*)gestureRecognizer
{
// Close keyboard for any text edit views that are children of the main view
[gestureRecognizer.view endEditing:YES];
}
@end
관련 문제
- 1. Keydown 이벤트 : numpad +, */buttons
- 2. VI 편집기에서 numpad 키 매핑
- 3. 이전 표준 휴대 전화 numpad 키보드에 uikeyboard를 연결하는 방법
- 4. UIScrollview에서 건드릴까요?
- 5. ScopeGuard가 닫습니다
- 6. UIScrollView에서 UIViewController를 언로드하려면 어떻게해야합니까?
- 7. UIScrollview에서 특정 이미지 선택
- 8. UIScrollView에서 긴 탭 감지
- 9. UIScrollView에서 터치를 사용하려면 어떻게해야하나요?
- 10. UIScrollView에서 여러 UIWebViews 사용
- 11. UIScrollView에서 배경색을 변경 하시겠습니까?
- 12. UIScrollView에서 -handlePan : 재정의
- 13. contentOffset은 UIScrollView에서 무엇을합니까?
- 14. UIScrollView에서 NavigationController 푸시
- 15. uiscrollview에서 터치 이벤트 처리
- 16. UIScrollView에서 부모보기로 탭 넘김
- 17. UIScrollView에서 CATiledLayer로 확대
- 18. 메서드가 UIScrollView에서 작동하지 않았습니다.
- 19. 비어있는 UITableView를 눌러 검색 창을 닫습니다.
- 20. iPhone UIButton이 UIScrollView에서 응답하지 않습니다.
- 21. drawRect를 사용하면 스크롤이 UIScrollView에서 느려집니다.
- 22. UIView/UIScrollView에서 이미지를 만드는 방법
- 23. UIScrollView에서 scrollViewDidScrollToBottom을 시뮬레이트하는 방법이 있습니까?
- 24. touchesBegan을 UIScrollView에서 UIViewController로 전달하는 방법
- 25. TITCH는 UITableView 및 UIScrollView에서 작동합니까?
- 26. UIScrollView에서 두 개의 하위 뷰
- 27. UITableCellView의 UIScrollView에서 셀이 업데이트되지 않습니다.
- 28. UIScrollView에서 다른 속도로 배경을 스크롤하십시오.
- 29. 페이징을 사용하여 UIScrollView에서 '중력'을 변경하십시오.
고맙습니다 .. 난에 노력 해왔다 오랫동안이 같은 일을해라. 그러면 그것은 내 마음을 다 치지 않았다. 그것은 그렇게 간단하다. –