IT TIP

다음, 이전 및 완료 버튼으로 키보드를 얻는 방법은 무엇입니까?

itqueen 2020. 11. 21. 08:29
반응형

다음, 이전 및 완료 버튼으로 키보드를 얻는 방법은 무엇입니까?


그 위에 다음, 이전 및 완료 버튼이있는 키보드를 갖고 싶습니다.

나는 많은 앱에서 그것을 보았다.

특히 채울 양식이있는 경우.

여기에 이미지 설명 입력

위의 키보드와 비슷한 것을 얻고 싶습니다.

어떻게 얻을 수 있습니까?


이 다른 게시물 에서 답을 찾을 수 있습니다. iOS 라이브러리를 확인했고 UITextField inputAccessoryView 가 정확히 당신이 찾고있는 것입니다!

도움이 되었기를 바랍니다 !


방금 BSKeyboardControls키보드에 컨트롤을 쉽게 추가 할 수 있는 클래스를 만들었습니다 . 클래스, 지침 및 예제 코드는 여기 GitHub에서 찾을 수 있습니다 .

컨트롤은 텍스트 필드 및 텍스트보기에서 작동하며 iPhone 및 iPad 모두에 최적화되어 있습니다.


-(BOOL)textFieldShouldBeginEditing: (UITextField *)textField 

{
     UIToolbar * keyboardToolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];

    keyboardToolBar.barStyle = UIBarStyleDefault;
    [keyboardToolBar setItems: [NSArray arrayWithObjects:
                                [[UIBarButtonItem alloc]initWithTitle:@"Previous" style:UIBarButtonItemStyleBordered target:self action:@selector(previousTextField)],

                                [[UIBarButtonItem alloc] initWithTitle:@"Next" style:UIBarButtonItemStyleBordered target:self action:@selector(nextTextField)],
                                [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
                                [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(resignKeyboard)],
                                nil]];
    textField.inputAccessoryView = keyboardToolBar;

}



- (void)nextTextField {


    if (textField1) {

        [textField1 resignFirstResponder];
        [textField2 becomeFirstResponder];

    }

}

-(void)previousTextField
{

    if (textField2) {
        [textField2 resignFirstResponder];
        [textField1 becomeFirstResponder];
    }


}

-(void)resignKeyboard {

    [textField1 resignFirstResponder];
    [textField2 resignFirstResponder];

}

기본적으로이 작업을 수행하는 유틸리티 클래스가 있습니다.

https://github.com/kalvish21/CustomKeyboard

아이디어는 매우 간단합니다. 막대 단추 항목이있는 액세서리 도구 모음을 추가해야합니다. 버튼이 할 일을 정의하는 델리게이트가 있습니다.


https://github.com/hackiftekhar/IQKeyboardManager

이것은 내가 지금까지 본 최고의 키보드 핸들러입니다. 텍스트 입력을 관리하는 매우 훌륭한 방법입니다.

특징 1) ZERO LINE OF CODE

2) 자동으로 작동

3) 더 이상 UIScrollView 없음

4) 더 이상 하위 클래스 없음

5) 더 이상 수동 작업 없음

6) 더 이상 #imports


이것은 키보드 바로 위에있는 사용자 지정 컨트롤입니다. UIToolbar를 사용할 수 있다고 생각합니다.

textFields 및 Done의 firstResponder 주변의 이전 및 다음 패스는 도구 모음을 숨길뿐만 아니라 사임을 수행합니다.

키보드 애니메이션과 일치시키기 위해 내가 찾은 이 코드 또는 SO : "iPhone의 기본 키보드 애니메이션 속도는 얼마입니까?"를보십시오.


iPhone / iPad에서 모든 방향으로 작동하고 고도로 사용자 정의 할 수있는이 기능을 구현 저장소만들었습니다 .


다른 답변에서 언급했듯이 inputAccessoryView당신이 찾고있는 것입니다.

이 코코아 포드를 사용하여 여기에 다른 방법을 추가하고 싶습니다.

포드 ' UITextField-Navigation '

모든에 UITextField두 가지 추가 속성, nextTextFieldpreviousTextField. 그런 다음 nextTextField인터페이스 빌더에서 를 간단히 연결할 수 있으며 이전, 다음 및 완료 버튼이 자동으로 추가됩니다. 모든 기능이 작동하며 더 이상 코드가 필요하지 않으며 서브 클래 싱도 없습니다.

또한 원하는대로 UI를 사용자 정의하고 더 많은 버튼을 추가 할 수 있습니다.

여기에 이미지 설명 입력 여기에 이미지 설명 입력

참고 URL : https://stackoverflow.com/questions/5591792/how-to-get-keyboard-with-next-previous-and-done-button

반응형