내가 궁금하네요iPhone : UITextField 지우기 버튼으로 키보드를 닫을 수 있습니까? '항상 표시'는 UITextField에 명확한 버튼이 할 수있는 방법이 있는지
textfield.clearButtonMode = UITextFieldViewModeAlways;
버튼을 사용하여 키보드를 닫습니다 .. 그리고 가능한 경우 를 작동하지 않는 것?
미리 감사드립니다. 대리인에
내가 궁금하네요iPhone : UITextField 지우기 버튼으로 키보드를 닫을 수 있습니까? '항상 표시'는 UITextField에 명확한 버튼이 할 수있는 방법이 있는지
textfield.clearButtonMode = UITextFieldViewModeAlways;
버튼을 사용하여 키보드를 닫습니다 .. 그리고 가능한 경우 를 작동하지 않는 것?
미리 감사드립니다. 대리인에
,
- (BOOL)textFieldShouldClear:(UITextField *)textField
은 사용자가 텍스트 필드를 취소하고자 할 때 호출되는 함수입니다. 당신이
[textField resignFirstResponder];
을 YES를 반환하고 호출하는 경우 키보드가 사라한다. clearButtonMode에 대해서는 잘 모릅니다. 여러분이 superview에보기를 추가하기 전에 먼저 설정하는 것이 좋습니다.
[textField performSelector:@selector(resignFirstResponder) withObject:nil afterDelay:0.1];
UITextFieldDelegate textFieldShouldClear
- (BOOL)textFieldShouldClear:(UITextField *)textField {
[textField] resignFirstResponder];
return YES;
지연 didn를 '을
편집 당신이 정말로, 응답자을 사임 조금 나중에하고 시도 확인하십시오 나를 위해 잘 작동하지. 위임 구현에 그런
BOOL cancelEdit;
: 대신 나는 대리자 인스턴스 변수를 추가 그것은 당신이 필드를 해결 한 후 사과가 텍스트 필드 포커스를 설정하는 것 같다 전에
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
if (cancelEdit) {
cancelEdit = NO;
return NO;
} else {
return YES;
}
}
- (BOOL)textFieldShouldClear:(UITextField *)textField
{
cancelEdit = YES;
return YES;
}
이 방법이 가장 좋습니다. – Shmidt
위대한 솔루션, 감사합니다 –
같이 언급.
해결책은 간단합니다. 그냥 현장을 직접, resignFirstResponder을 취소하고 나는이 이상한 행동이 textFieldShouldClear 전에 키보드 전에 첫 번째 응답을 사임 경쟁 제스처 인식기에 의해 발생 된 발견 NO
-(BOOL)textFieldShouldClear:(UITextField *)textField
{
textField.text = @"";
[textField resignFirstResponder];
return NO;
}
나를위한 최고의 솔루션! 고마워요! –
사용자가 지우기 버튼을 탭하면 키보드를 표시하지 않고 키보드가 표시되면 숨기고 싶지 않습니다. 위의 코드에서'[textField resignFirstResponder];를 제거합니다. –
을 반환하지 : 불렸다. 첫 번째 응답자가 손상된 것으로 보입니다.
이렇게 설정 한 경우 제스처 인식기의 취소 테스트가 YES로 설정되어 있는지 확인하십시오. 이렇게하면 textFieldShouldClear : 또는 textFieldShouldBeginEditing : delegate 메서드에서 특별한 작업을 수행하지 않아도됩니다.
감사합니다. 위와 같이 textFieldShouldClear를 호출 할 때 키보드가 사라지지 않는 이유는 무엇입니까? 예를 들어 textFieldShouldReturn과 함께 작동합니다. – Dan
예, 지울 때 UI가 어쨌든 필드에 포커스를 강제 할 수 있습니다. 잠시 후 사적인 답변을 추가 한 선을 사용하여 사임을 시도하십시오. – mvds
건배, 지연 문제가 해결 된 것 같습니다! 나중에 0.13을 지우는 – Dan