2010-07-19 3 views
1

Я только что создал подкласс uitableviewcell и использовал его в моем cellforrowatindexpath.UITableViewCell subclassed - фон для определенной позиции

после добавления простого UILabel моя клетка выглядит в настоящее время что-то вроде этого: alt text

моя цель состоит в том, чтобы стиль ячейки, как

alt text

, но как это сделать? сначала я просто добавляю uiimageview и отправляю его обратно с закругленными углами и стрелкой в ​​нем.

, но в реале это три разных типа ячейки. один для верхнего, один для средней части, один для нижней части секции.

любые подсказки, как обрабатывать эти три «пользовательские» ячейки в одном подклассе uitableviewcell? спасибо за все советы!

Choise

// если что-то неясно, оставить комментарий! ;)

ответ

1

ok, теперь я понимаю, что вы хотите перепроектировать сгруппированный стол. Я сделал пример приложения: Download (mediafire.com 55kb)

Вот код:

#define numberOfRows 5 

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    return 2; 
} 

- (NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section { 
    return numberOfRows; 
} 

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (indexPath.row == 0) 
     return 42; 
    else 
     return 41; 
} 

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

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCustomCellID]; 
    if (cell == nil) 
    { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCustomCellID] autorelease]; 

     UIImage *theIMG; 
     if (indexPath.row == 0) // you have to make a fourth image if only one cell exist 
      theIMG = [UIImage imageNamed:@"1.png"]; 
     else if (indexPath.row == numberOfRows -1) // the last cell 
      theIMG = [UIImage imageNamed:@"3.png"]; 
     else 
      theIMG = [UIImage imageNamed:@"2.png"]; 

     UIImageView *mg = [[UIImageView alloc]initWithImage:theIMG]; 
     cell.backgroundView = mg; 
     cell.selectionStyle = UITableViewCellSelectionStyleNone; 
    } 
    // check out how large your image should be if the table is not over the full screen 
    //NSLog(@"Row:%i Width:%f", indexPath.row, cell.backgroundView.frame.size.width); 

    cell.backgroundColor = [UIColor clearColor]; 
    cell.textLabel.text = @"TEXT"; 
    return cell; 
} 
0

Использование CustomCell может решить вашу проблему. Узнайте, как добавить UILabel и UIImage в ячейку.

http://iphone.zcentric.com/2008/08/26/uiimageview-in-a-custom-cell/

+0

не знаю, если вы поняли мою проблему. У меня есть пользовательская ячейка, у меня есть метка, и я ЗНАЮ, как добавить uiimage, но можете ли вы увидеть эти закругленные углы в моем табло? на первой ячейке секции мне нужны закругленные углы сверху, в средней части мне не нужны закругленные углы и на нижней части секции, мне нужны закругленные углы внизу – choise

+0

Так вокруг ваших углов. Это не сложно. –

0

вы можете использовать слой для редактирования конкретного UI-элемента. (По умолчанию TableView, не сгруппированных)

myTable.layer.cornerRadius = 7.0; 
myTable.layer.borderWidth = 1; 
myTable.backgroundColor = [UIColor colorWithRed:0.89 green:0.89 blue:0.89 alpha:1.0]; 

Получение .layer к работе вы должны #import <QuartzCore/CAAnimation.h>, а также связать QuarzCore.framework (Project Target -> Общие -> "Добавить" -Кнопка)

Для стрелка, вы должны использовать изображение и заменить кнопку раскрытия по умолчанию. У меня нет времени делать все остальное, но я уверен, что вы спросите еще раз, если что-то не так;)

+0

спасибо, но я понятия не имею, как это должно работать. поэтому вы имеете в виду, что мне нужно добавить слой над каждым разделом? – choise

+0

нет, слой уже включен. myTable - это таблица, которую я связал следующим образом: создайте таблицу в InterfaceBuilder и привяжите ее к ViewController с помощью «IBOutlet UITableView * myTable», – 2010-07-19 19:25:40

Смежные вопросы