2014-07-21 3 views
0

UIButton의 제목을 UILabel 또는 UITextFiled에서 변경해야합니다. 예를 들어, UITextField에 텍스트를 입력하고 "입력"또는 이와 유사한 버튼을 누르면 다른 버튼의 제목이 텍스트 필드의 텍스트로 변경됩니다. 다른 예를 들어 텍스트 필드에 텍스트를 입력하고 하나의보기 컨트롤러에서 "enter"를 클릭하고 "다음"을 클릭하여 다른보기 컨트롤러로 이동하면 나중의보기 컨트롤러의 버튼에 텍스트 필드의 텍스트 제목이 표시됩니다 이전의 뷰 컨트롤러. 나는 현재 내가 찾은 어떤 것도 전혀 도움이되지 않아 내가 가진 것을 보여줄 수있는 코드가 없다. 어떤 아이디어라도 크게 감사 할 것입니다.UILabel 또는 UITextFiled에서 UIButton의 제목 변경

+1

'[버튼 setTitle이라는을 : label.text forState을 : UIControlStateNormal] 시도,'조각으로 문제를 부셔 – ahruss

+0

. 텍스트 필드에 "Enter"키를 눌러서 처리하는 방법을 알고 있습니까? 단추의 레이블을 업데이트하는 방법을 알고 있습니까? – rmaddy

+0

다음보기에서 NSString 속성 개체를 가져 와서 해당 개체에 텍스트 필드 값을 전달합니다. 그 문자열을 다음 뷰의 viewdidload에서 단추 또는 레이블 텍스트로 사용하십시오. – Max

답변

1

음, 여기 자상입니다 :

// -------------------------------------------------------------------- 
// When user taps on your enter button in your first view controller 
// -------------------------------------------------------------------- 
-(void)enterButtonPressed 
{ 
    ViewController2 *vc2 = [[ViewController2 alloc] init]; 

    // set the button title in your second view controller 
    [vc2.otherButton setTitle:self.textField.text forState:UIControlStateNormal]; 

    // show second view controller 
    [self.navigationController pushViewController:vc2 animated:YES]; 
} 
+0

좋아, 일단 호출되면 done이라는 메서드가 있는데, 두 레이블은 텍스트를 텍스트 필드의 텍스트로 변경합니다. 한 번 호출하면 뷰가 변경되는 또 다른 메서드가 있습니다. 어떤 메소드를 제공했는지, 또는 두 번째 viewController의 viewDidLoad 메소드에 코드 라인을 넣어야하는 메소드에서 처음 두 라인의 코드를 삽입해야합니까? – theNewCat

+0

두 번째 페이지를 표시하려면 탐색 스택에 밀어 넣기 전에 단추의 제목을 설정하십시오. 그래서 저는 여러분의 경우에, 그것은 "보기를 바꾸는"다른 "방법"이라고 생각합니다. 그러면 버튼의 제목이 다음보기 컨트롤러를 표시하기 직전에 발생하기 때문에 예기치 않게 어딘가에서 변경되지 않는다고 확신 할 수 있습니다. – Zhang

+0

당신이 말한 것을 뷰를 변경하는 메서드에 넣었지만 여전히 작동하지 않습니다. 이 코드는 의미가 있지만 아직 효과가 없습니다. 나는 내 잘못을 저 지르더라도 계속 볼 것입니다. – theNewCat

0

-(BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    // get the instance of your button 
    if(textField.tag == matchedTag){ 
    [[button titleLabel] setText:@"xyz"]; // or below call 
    [button setTitle:@"xyz" forState:UIControlStateNormal]; 
    } 
} 
관련 문제