사용자가 UITextField를 도청 할 때 표시 할 사용자 지정 키보드가 있습니다. 그러나 동시에 텍스트 필드에 커서를 표시하고 싶습니다. canBecomeFirstResponder에 대해 NO를 반환하면 기본 키보드가 표시되지 않지만 커서도 표시되지 않습니다.iPhone - 키보드를 표시하지 않고 커서를 여전히 UITextField에 표시 할 수 있습니까?
누군가 나를 도울 수 있습니까?
감사합니다.
사용자가 UITextField를 도청 할 때 표시 할 사용자 지정 키보드가 있습니다. 그러나 동시에 텍스트 필드에 커서를 표시하고 싶습니다. canBecomeFirstResponder에 대해 NO를 반환하면 기본 키보드가 표시되지 않지만 커서도 표시되지 않습니다.iPhone - 키보드를 표시하지 않고 커서를 여전히 UITextField에 표시 할 수 있습니까?
누군가 나를 도울 수 있습니까?
감사합니다.
등록 키보드 알림 관찰자로 (예를 들어 키보드를 숨기려는 뷰 컨트롤러) : - hideKeyboard에 넣어
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(hideKeyboard:) name:UIKeyboardWillShowNotification object:nil];
: 기능 : -에
-(void)hideKeyboard:(NSNotification *)notification {
for (UIWindow *keyboardWindow in [[UIApplication sharedApplication] windows]) {
for (UIView *keyboard in [keyboardWindow subviews]) {
if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES) {
keyboard.alpha = 0;
}
}
}
}
iOS4에서 작동하지 않습니다. 이 메서드는 호출 된 있지만 UIKeyboard –
thnx 행복하게 접두사가있는보기가 없습니다. 정말 키보드 및 해당 작업을 표시하지 않고 내 텍스트 필드에 깜박이 커서를 표시하려면 도움이됩니다 ... –
문제에는 2 가지 해결책이 있습니다. 1) 키보드의 알파를 0으로 설정하면 키보드가 보이지 않게됩니다 ... 원하는 모든 것일 수 있습니다. 커서가 나타납니다.
2) UITextField는 UITextInputTraits 프로토콜을 구현합니다. 첫 번째 응답자가되면 항상 키보드를 호출합니다. 기본 동작을 변경하려면 해당 클래스 또는 다른 클래스에서 상속해야합니다.
행운을 빈다.
우리가 성취하려는 것을 우리에게 말해 준다면 우리는 그것을 성취하기위한 더 우아한 방법을 제안하려고합니다.
재미있게 보내십시오.
왜 커서가 필요합니까? 필자가해야 할 일은 사용자가 키보드에서 키를 누를 때 입력의 텍스트 값을 업데이트 할 수 있다는 것입니다.
사용자의 키보드에 대한보기를 만든 다음 UITextField의 inputView
속성을 편집하여 사용자 지정 키보드보기로 전달하는 것이 좋습니다.
도움이 되었기를 바랍니다.
고맙습니다 ArturoVM 나를 위해 잘 작동 –
사용자 정의 키보드가있는 UITextField가 원하는 것 같습니다. CustomKeyboard : UIView
클래스를 만들고보기/버튼 레이아웃을 추가하십시오. 그런 다음 텍스트 필드에 대해 inputView 속성을 CustomKeyboard 클래스 textField.inputView = customKeyboard;
클래스의 인스턴스로 설정하면됩니다. inputView 속성을 readwrite로 설정해야합니다. @property (readwrite, retain) UIView *inputView;
inputView 속성을 설정하면 텍스트 필드가 첫 번째 응답자가 될 때 표준 iPhone 키보드가 표시되지 않습니다.
(아마도 텍스트 입력이 매우 정통하지 않습니다) 다음 더미 UIView (프레임을 지정하지 않고) 만들기 및 .inputView가 잘 작동하게 만드는 사용자 지정 키보드 기능이 필요하지 않습니다. 그런 다음 textField에서 becomeFirstResponder를 호출하면됩니다. – HenryRootTwo
은 UITextFieldDelegate에서 다음 두 가지 메서드를 재정의합니다. 이 방식의 UITextField와 UITextView 모두 유효 함을 더 키보드는, UITextField 유용에 커서가없는 경우 어떻게
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
if (!textField.inputView) {
//hides the keyboard, but still shows the cursor to allow user to view entire text, even if it exceeds the bounds of the textfield
textField.inputView = [[UIView alloc] initWithFrame:CGRectZero];
}
return YES;
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
return NO;
}
(이 경우 당신은 UITextViewDelegate에서 해당 메소드를 오버라이드 (override)) 참고?별로 도움이되지 않는 이유 일 것입니다. – psychotik
사용자 정의 키보드가 있습니다. 그게 내가 왜 기본 키보드를 표시하고 싶지 않지만, 그래서 그가 텍스트를 입력하는 사용자가 알고 커서를 원한다면 – Swastik
확실히 이것을 사용하고 있습니다. 셰리, 대답을 찾았 니? –