2011-04-06 5 views
0

에 대한 사용 태그는이 코드를목적 C : 텍스트 필드

- (IBAction) addNumberField { 


if ([firstField.text intValue] == 3) 
{ 
    firstField.text = @"0"; 
} 
else 
{ 
    int num = [firstField.text intValue]; 
    num = num + 1; 
    firstField.text = [[NSNumber numberWithInt:num] stringValue]; 
} 
} 

이 IBAction를 함께 나는 버튼과 텍스트 필드의 값을 증가 범위는 0-3 것을 볼 수 있습니다. 하지만 나는 다른 텍스트 필드에 대해서도 firstField뿐만 아니라 secondField (두 번째 textField)에도이 IBAction을 사용하고 싶습니다. 나는 태그를 사용해야한다고 생각하지만, 나는 그 방법을 모른다. 나 좀 도와 줄 수있어?

답변

0

, 당신은 다른 개체 또는 값에 동일한 코드를 적용 할 필요가있을 때,이 같은 방법 정의 :

- (void)updateNumberField:(UITextField *)textField { 
    int num = [textField.text intValue]; 
    num = (num + 1) % 4; // this will wrap num to the range [0, 3] 
    textField.text = [NSString stringWithFormat:@"%d", num]; 
} 

- (IBAction)addNumberField { 
    [self updateNumberField:firstField]; 
    [self updateNumberField:secondField]; 
    // you can do the same for whatever field you like 
} 

textField.tagnum을 할당하여 태그를 사용하는 것도 물론 가능하다을 updateNumberField: 방법. NSString에서 int으로 변환됩니다.

텍스트 필드에 추가 값을 첨부해야하는 경우 하위 클래스를 만들고 필요한 모든 기능을 추가하는 것이 좋습니다.

+0

코드 업데이트 텍스트 필드를 동시에 사용하십시오. 첫 번째 텍스트 필드에는 두 개, 두 번째 버튼에는 두 개의 다른 버튼이 있습니다. 텍스트 파일. – CrazyDev

+0

@blackguardian 첫 번째 버튼에 대한 액션에서는'[self updateNumberField : firstField]'를, 두 번째 버튼의 액션에서는'[self updateNumberField : secondField]'를 쉽게 호출 할 수 있습니다. –

+0

사실 내가 이런 식으로 ... 고마워. – CrazyDev

0

IB를 사용하고 있고 각 텍스트 필드에 setTag를 호출하는 경우 IB의 각 텍스트 필드에 태그를 지정하십시오. 일반적으로

+0

와 어떻게 내 코드에? [[textfieldgeneral setTag : 1] intValue] == 3 ???? – CrazyDev

+0

여기서 intValue를 왜 호출하고 있습니까? – saadnib

+0

태그를 지정하려면 use [textfield setTag : 1]; 이미 할당 된 태그 값을 정수와 비교하고 싶다면 [textfield tag] == 1 – saadnib

0

.h 파일에서 우리는 즉, 텍스트 필드의 코드를 선언 : 우리가 하나를 구현

uitextfield *tf; 

파일 .m에서. 있는 viewDidLoad에서

:

{ 
    tf=[uitextfield alloc]initwithframe:(cgrectmake(x axis,y axis, width, height))]; 
    [self.view addsubview:tf]; 
}