2012-03-28 6 views
3

Ich habe eine TableView (Grouped Table View) erstellt. Und ich kann die Elemente in der Tabellenansicht auflisten. Aber ich möchte wissen, wie die folgende Tabelle angezeigt wird enter image description hereSo erstellen Sie eine Tabelle wie die folgenden

Wie Kalender ist in der linken Seite und Gregorian in der rechten Seite ?? Wie das Gregorianer auf der rechten Seite angezeigt wird ?? Ist es eine benutzerdefinierte TableView, kann mir jemand helfen, wie man das erreicht?

+0

erstellen Kostüm Tabelle –

Antwort

10

Das sind nur normale Zellen mit style = UITableViewCellStyleValue1 und auch accessoryType = UITableViewCellAccessoryDisclosureIndicator.

Um ein programmatisch zu machen: (. Beachten Sie, dass das wirkliche Leben in Sie wahrscheinlich dequeueReusableCellWithIdentifier: versuchen würde, und nur eine neue Zelle erstellen, wenn das nil)

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"YourIdentifier"]; 
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

Oder, wenn Sie‘ Wenn Sie mit IB arbeiten, stellen Sie "Style" auf "Right Detail" und "Accessory" auf "Disclosure Indicator".

+0

Sie so viel helfen, Dank! – Cyril

+0

Stil kommt, aber wie den zweiten Text wie Indien, Gregorian ?? – Cyril

+3

'cell.detailTextLabel.text = @" wie, was auch immer "' – yuji

1

Sie müssen Sie folgenden Code verwenden

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier] autorelease]; 
     cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator; 
     UIImageView *v = [[[UIImageView alloc] init]autorelease]; 
     v.backgroundColor = [UIColor clearColor]; // put clear color 
     [v setClipsToBounds:YES]; 
     cell.selectedBackgroundView = v; 
     [cell setClipsToBounds:YES]; 
    } 
    UIImageView *imgVBG=(UIImageView*)[cell selectedBackgroundView]; 
    if(indexPath.row==0){ 
     imgVBG.image=[UIImage imageNamed:@"TopImg.png"]; 
    } else if((indexPath.section==0 && indexPath.row==4)||(indexPath.section==1 && indexPath.row==7)){ 
     imgVBG.image=[UIImage imageNamed:@"BottomImg.png"]; 
    } else { 
     imgVBG.image=[UIImage imageNamed:@"MiddleImg.png"]; 
    } 
} 
+1

Nur die ersten 6 Zeilen sind für die Frage relevant, und diese unterscheiden sich nicht von dem, was Yuji bereits gepostet hat. – jrturton

+0

@jrurton: Aber in anderen Code ist für effizientere Ihre uitableview verwenden, so ist es hier –

+0

Vielen Dank, es hat mir wirklich geholfen! – Cyril

Verwandte Themen