2016-12-16 1 views
0

하나의 배열에 하나의 문자열과 하나 이상의 배열이 있는데이 배열을 사용자 정의 셀에 동적으로 표시하려고합니다. 내 배열 구조는 아래와 같습니다. 웹 서비스에서 오는 데이터에 따라 변경됩니다.Objective C를 사용하여 동적으로 두 개의 UILabel 만들기

{ 
subDescription =  (
    "Worship Hours 5.00am to 12.30pm & 4.00pm to 10.00pm", 
    "The temple is open all days of the week" 
); 
subHeading = Hours; 
} 

와 나는 유일한 방법

float xCoordinate=10.0,yCoordinate=30.0,width=320,height=40; 
float ver_space=20.0; 

for (int i = 0; i <test.count; i++) 
{ 
    NSDictionary *lanuage=[test objectAtIndex:i]; 
    NSString *work=[lanuage objectForKey:@"subHeading"]; 
    NSArray *er=[lanuage objectForKey:@"subDescription"]; 

    UILabel *label = [[UILabel alloc] initWithFrame: 
    CGRectMake(xCoordinate,yCoordinate,width,height)]; 

    label.text = work; 
    [events.contentView addSubview:label]; 
    yTCoordinate=yTCoordinate+heightT+ver_space; 
} 
+0

질문 제목은 오해의 소지가 있습니다. 동적으로 두 개의 레이블을 생성 하시겠습니까? 아니면 subDescription을 가져 오는 데 문제가 있습니까? –

+0

2 개의 라벨을 동적으로 만들고 싶습니다. 가져 오는 것이 좋습니다. subHeading을 생성 한 후에는 subDescription 배열 요소를 표시해야합니다. –

답변

0

내가 이해 잘 모르겠지만, 당신은 왜 대신 CollectionView를 사용 해달라고 subDescription 배열을 표시하기 위해 내가 subHeading 값을 표시 할 수있는이 형식을 사용하여이 같은 시도 상표. 헤더 셀과 하위 셀을 정의 할 수 있습니다. 나는 이것이 당신의 문제에 맞는 것 같아요.

컬렉션보기를 사용하지 않으려면 코드를 조정하고 하위 항목 배열을 반복 할 수 있습니다.

for (NSString *item in er) { 
     UILabel *label = [[UILabel alloc] initWithFrame: 
     CGRectMake(xCoordinate,yCoordinate,width,height)]; 

     label.text = item; 
     [events.contentView addSubview:label]; 
     yCoordinate=yCoordinate+height+ver_space; 
    } 
관련 문제