2014-02-28 5 views
0

두 개의 UILabel을 무작위로 만들려고합니다. 레이블의 내용은 int입니다. UITextField의 입력이 두 개의 UILabel에 새 값을 제공하는 것이 맞으면 곧 시도합니다. 내 질문은 : 올바른 사용자 입력을 입력하자마자 UITextView 작업을 어떻게 보내고, 두 개의 UILabel 값을 새로 입력 할 수 있습니까?UITextField의 무작위 레이블 값

다음은 UITextField에 연결하려고하는 작업입니다.

- (IBAction)randomDef:(id)sender { 
    int valueFromTextField = rand() % 100; 

    int positiveNumber = 0; 

    float x = ([firstNumber.text floatValue]); 
    float y = ([secondNumber.text floatValue]); 

    int ans = x + y; 

    switch (valueFromTextField) { 
     case 0: 

      firstNumber.text = [NSString stringWithFormat:@"%d", valueFromTextField]; 
      secondNumber.text = [NSString stringWithFormat:@"%d", valueFromTextField]; 

      if (textField.text == [NSString stringWithFormat:@"%d", ans]) { 

       positivePoints.text = [NSString stringWithFormat:@"%d", positiveNumber++]; 
       valueFromTextField++; 
      } 
      break; 

     default: 
      break; 
    } 
} 

답변

1

당신은 당신이 textFieldDidChange:를 구현하고

-(void)textFieldDidChange :(UITextField *)theTextField 
{ 
    // code here 
} 
+0

감사합니다! 이 switch-statement가 작동 할 수 있는지 궁금합니다. textField ++의 값이든 0의 경우이든 : – olivier

+0

코드에서 'valueFromTextField ++;'는 쓸모가 없습니다. – Merlevede

0

당신은 UITextField 변화에 대응하기 위해 UITextFieldDelegate 프로토콜을 사용할 수 있습니다. 클래스가 UITextFieldDelegate 프로토콜을 따르도록 설정하고 textfield.delegate으로 설정 한 다음 및 -textFieldDidEndEditing:과 같은 대리 메서드를 구현합니다. 필드의 리턴 키를 누르는 사용자에게 응답하려면 -textFieldShouldReturn:을 사용하십시오.

UITextFieldDelegate Apple documentation

+0

감사합니다이 함수의 본문에 코드를 이동할 수 있습니다 클래스에서이

// Add a "textFieldDidChange" notification method to the text field control. [textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; 

같은 알림을 사용할 수 있습니다! 하지만 무엇입니까 -textFieldShouldReturn :. – olivier

+0

'-textFieldShouldReturn'은 사용자가 텍스트 필드에서 리턴 (보통 값을 입력 한 후)을 가볍게 두 드렸을 때 호출되는'UITextFieldDelegate' 메소드입니다. 그래서 만약 그들이 "20"을 입력하고 리턴을 탭하기를 원한다면 리턴 키 탭에 응답하여'-textFieldShouldReturn :'이 호출됩니다. – bneely