2012-08-06 6 views
0

두 개의 텍스트 필드가있는 한 페이지 응용 프로그램이 있습니다. 하나의 필드는 사용자가이 텍스트 필드 (text1)를 채울 항목을 선택할 수있는 드롭 다운 메뉴입니다. 이 텍스트 필드 (text1)가 채워지면 어떻게 다른 텍스트 필드 (text2, text3 등)를 자동으로 업데이트 할 수 있습니까?ios app에서 텍스트 필드를 동적으로 채우는 방법

예 : 텍스트 입력란에는 text1, text2, text3의 세 가지 텍스트 필드가 있습니다. 백엔드에서 나는 그들 사이에 일치하는 배열 목록을 가지고 있으므로 text1의 값은 text2와 text3에 적절한 값을 찾을 수 있습니다. 그러나 사용자가 text1 값을 변경 한 후에 text2 및 text3을 동적으로 업데이트하는 방법은 무엇입니까?

또 다른 기본적인 질문 : viewdidload의 텍스트 필드에 어떻게 텍스트 문자열을 표시 할 수 있습니까?
예 : 데이터베이스에서 값을 가져 왔으며,보기로드시이 값을 텍스트 필드에 표시하는 방법.

답변

1

좋아, 내가 하나를 사용하여 질문 하나를 해결하기 위해 노력 할게요 :

을 먼저로드 텍스트 필드의 표시. 텍스트를 보관할 레이블의 콘센트를 만듭니다. 예 - .H 파일 인터페이스 빌더에서 이제

@property (weak, nonatomic) IBOutlet UILabel *textbox1; 

에서 시작 라벨을 드래그 한 다음 바로 부동산 당신 설치를 끌고 라벨을 연결합니다.

이제 가치가있는 매장을 보유하게됩니다. 화면에 뭔가를 얻어야한다

self.textbox1.text = @"some text to display"; 

을 : 그것은이 같은 것을 추가 -(void)viewDidLoad에서 파일을하는 .m로 이동 지금

뭔가를 넣어.

사용자가 입력하는 동안이나 입력 한 후에 다른 화면 레이블을 동적으로 업데이트하려면 텍스트 필드 대리자를 구현해야합니다. 그것과 같아야 시도하고 모든 것을 설명하지만, 기본적 .H에 구현 라인을 파일에 약간의 복잡한은 :

은하는 .m 파일에 다음
@interface YourViewControllerNameHere : UIViewController <UITextFieldDelegate> 

당신은 몇 가지 변경을 만들기 위해

viewDidLoad에서 처음

는이 라인

self.textbox1.delegate = self; //this tells the UILabel to send changes to your program 

를 추가 일부 오픈 공간에서 이러한 콜백 메소드를 구현할 수 있습니다 다음 을 프로그램을 실행하고 로깅 당신과 일이 일어나고 말할 것이다.

기본적으로 코드는 원하는 작업에 따라 올바른 방법으로 호출합니다.

- (void)textDidChange:(id<UITextInput>)textInput { 
    NSLog(@"text did change"); 
} 

- (void)textFieldDidBeginEditing:(UITextField *)textField { 
    NSLog(@"text field did begin editing"); 
} 

-(void)textFieldDidEndEditing:(UITextField *)textField { 
    NSLog(@"text field did end editing"); 
} 

-(void)textWillChange:(id<UITextInput>)textInput { 
    NSLog(@"text will change"); 
} 

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { 
    NSLog(@"text field should change characters in range"); 
    //if this is disabled no character will appear 
    //use to filter out bad characters 
    return YES; 
} 

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    NSLog(@"text field should return"); 
    return YES; 
} 
관련 문제