2012-05-16 7 views
-1

나는 setUpArray라는 이름의 배열을 변경할 수 있으며 UITextField를 동적으로 생성하려고합니다. textFields 수는 [setUpArray 개수]와 같아야합니다. 다음 코드를 시도했다. 그것은 UITextFields의 생성을 위해 을 작동하지만 문제는 모두 동일한 이름을가집니다. 그래서 개별적으로 텍스트에 대한 속성을 독립적으로 설정할 수는 없습니다.배열 수에 따라 UITextFields 만들기

for(int i=0;i<[setUpArray count];i++) 
{ 
    UITextField *nameTextField=[[UITextField alloc]initWithFrame:CGRectMake(x, y, 60, 40)]; 
    nameTextField.delegate=self; 
    [view addSubview:nameTextField]; 
    y=y+50; 


} 

제발이 문제에 대한 해결책을주십시오.

+0

당신이 레이블 또는 텍스트 필드를 생성하기 위해 실제로 싶어 ??? 표제와 질문의 설명은 완전히 다릅니다 – HarshIT

+0

귀하의 질문은 http://stackoverflow.com/questions/1013325/how-to-create-nsmutablearray-of-uilabels – HarshIT

+0

나는 생각하지 않아 중복입니다. 이 질문에서 문제는 다릅니다 –

답변

2

태그를 사용하여 나중에 액세스 할 수 있습니다.

for(int i=0;i<[setUpArray count];i++) { 
    UITextField *nameTextField=[[UITextField alloc]initWithFrame:CGRectMake(x, y, 60, 40)]; 
    nameTextField.delegate=self; 
    [view addSubview:label]; 
    y=y+50; 
    nameTextField.tag = 10 + i; 
} 

액세스 그것은 나중에 : 그냥 그렇게

UITextField *theTextField = [view viewWithTag:12]; //or any other number 

는 당신은 추가 할 수 있습니다

+0

텍스트 필드를 삭제해야한다고 생각하지 않습니까? ??????? – HarshIT

+0

@Hadley 당신은 무엇을 의미합니까? – Novarg

+0

여러 번 메모리를 할당하고 (for 루프와 동일) 아직 해제하지 않습니다. :( – HarshIT

0

도움이되기를 바랍니다 =

nameTextField.tag=i; 

for(int i=0;i<[setUpArray count];i++) 
{ 
    UITextField *nameTextField=[[UITextField alloc]initWithFrame:CGRectMake(x, y, 60, 40)]; 
    nameTextField.delegate=self; 
    nameTextField.tag = i; 
    [view addSubview:nameTextField]; 
    y=y+50; 
} 


and access it using :- 
if(nameTextField.tag==someIntValue) 
{ 
//perform this operation 
} 
관련 문제