반응형
키 입력을 입력 할 때 UITextField의 값 가져 오기?
다음 코드가 검증 가정 해봅시다.
IBOutlet UITextField* nameTextField;
IBOutlet UILabel* greetingLabel;
greetingLabel
사용자가 아무 키나 누르 자마자 "Hello [nameTextField]"를 읽고 싶습니다 .
내가 기본적으로 필요한 것은 Cocoa 대리인과 동등한 iPhone controlTextDidChange
입니다.
textField:shouldChangeCharactersInRange:
대리자 메서드는 키 입력 (keystroke)가 보관 때마다 호출됩니다
- (BOOL) textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string
패키지 인수는 문자를 반환합니다. 그러나 실제 textField
값 ( nameTextField.text
)은 비어 있습니다.
내가 여기서 무엇을 놓치고 있습니까? ( nameTextField
지금까지 사용자가 입력 한 숫자를 반영 하고 싶습니다 ).
가장 쉬운 방법은 Interface Builder를 사용하는 것입니다.
- IBAction을 추가하십시오 (이 경우와 같이 ViewController에)
- Interface Builder의 UITextField를 Ctrl- 클릭 (또는 오른쪽 클릭)
- "편집 변경"이벤트를 첫 번째 단계에서 추가 한 파일 소유자의 IBAction에 연결하십시오.
매력처럼 작동합니다 :) (나는 이것에 많은 시간을 보입니다.
텍스트 필드에서 UIControlEventEditingChanges 이벤트에 대한 조치를 등록 할 수 있습니다.
[nameTextField addTarget:self action:@selector(updateLabelUsingContentsOfTextField:) forControlEvents:UIControlEventEditingChanged];
...
// TODO: error checking
- (void)updateLabelUsingContentsOfTextField:(id)sender {
greetingLabel.text = [NSString stringWithFormat:@"Hello %@", ((UITextField *)sender).text];
}
UITextField
UITextFieldTextDidChange
등록하면 텍스트가 변경 될 때마다 발생 하는 알림 이 있습니다. 해당 알림에 등록하고 알림에서 호출 한 메소드에서 레이블의 텍스트를 변경하십시오.
이에 전달 된 추가하기 위해 알림 제공에 전달 된 객체는 UITextField
입니다.
희망이 도움이됩니다.
반응형
'IT' 카테고리의 다른 글
템플릿은 무엇입니까 (0) | 2020.08.06 |
---|---|
패닉 : 깨진 AVD 시스템 경로. (0) | 2020.08.06 |
Chart.js v2- 격자 선 배포 (0) | 2020.08.06 |
언제 thread.start () 대신 java의 thread.run ()을 호출하고? (0) | 2020.08.06 |
Hibernate Validator 4.1+에서 @NotNull, @NotEmpty 및 @NotBlank의 차이점은 무엇입니까? (0) | 2020.08.06 |