문제

iPhone 앱에 하나의 텍스트 항목 상자가 있습니다. 시뮬레이터에서 터치하면 키보드가 나타납니다. 그러나 그것을 제거 할 방법이 없습니다. 다른 웹 페이지는 왜 작동 해야하는지 설명하지 않고 솔루션을 제공하며 나에게 효과가 없습니다. 하나는 텍스트 상자의 UIView를 위임 한 다음 객체에서 사임 파이어 스피터를 호출하지만 결코 호출되지 않습니다. 제안이 있습니까? 아무도 실제로 무슨 일이 일어나고 있는지 설명 할 수 있습니까? 디자인 패러다임이 무엇인지 알면 스스로 알아낼 수 있습니다 ...

어쩌면 "go"버튼을 넣어서 텍스트 필드에서 초점을 맞출 수있는 것이 있습니까?

도움이 되었습니까?

해결책

이를 수행하는 한 가지 방법은 개체를 텍스트 필드의 대의원으로 설정하고 구현하는 것입니다

- (BOOL)textFieldShouldReturn:(UITextField *)textField

당신이 전화하는 곳 [textField resignFirstResponder]

이렇게하면 키보드가 리턴/GO/완료 버튼을 누르면 키보드가 사라집니다 (오른쪽 하단 키보드 키를 설정하든).

참조 uitextfielddelegate 자세한 내용은 참조하십시오.

다른 팁

키보드를 기각하려면 Textfield Delegate를 사용할 수 있습니다.

이것을 사용하려면 다음 단계를 따르십시오 ...
1. viewController에서.시간 다음과 같은 대의원 선언을 추가하십시오.

@interface ViewController : UIViewController <UITextFieldDelegate> {
    }
2. ViewController에서. 이 방법을 호출하십시오.
- (BOOL)textFieldShouldReturn:(UITextField *)textField
3. 다음과 같은 코드를 작성하십시오.
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder];
    return YES;
    }
4. 마지막 단계는 Textfield의 대의원을 설정하는 것입니다.
- (void)viewDidLoad {
        [super viewDidLoad];
        self.textField.delegate = self;
    }

- (BOOL)textFieldShouldReturn:(UITextField *)textField 반환 버튼을 누르면 대의원에서 호출됩니다.

당신은 전화하고 싶습니다 [textField resignFirstResponder] 그런 다음 돌아옵니다 YES. 그것은 트릭을 수행해야합니다. 또한 대의원이 설정되어 있는지 확인하십시오. 의심스러운 경우 중단 점을 추가하십시오 NSLog 그리고 확인하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top