2013-08-25 2 views
-1

Я делаю газетное приложение.Как настроить ячейку UITableview в качестве подкласса

Я хочу первую собой ячейку Tableview к состоит из 2-х взглядов различных размеров и от 2-й ячейки они хотят 3 вида по того же размера в каждой клетке и действия для просмотра каждой ячейки

! http://imgh.us/custom_cell.png

+2

Что вы сделали до сих пор, что не работает? –

+0

Я сделал это в режиме прокрутки, создавая представления в цикле for, он отлично работает для меня, но wen делает синтаксический анализ evrytime, он создает представление в цикле for, поэтому для отображения страницы требуется длительное время ..... @ XCode Monkey – KSR

ответ

0

Просто дизайн UITableViewCell в файл NIB и создать относительную .h и .m файлы, скажем:

MyCell.h 
MyCell.m 
MyCell.xib 

В MyCell.xib месте всех подвидов вы желаете, и установить класс основной объект ячейки - MyCell (а не стандарт UITableViewCell).
Затем вы можете установить код IBOutlet s в код и связать их с подзонами в XIB. Вы также можете поместить некоторые IBAction s в пользовательский класс просмотра, хотя это плохая практика, и вы действительно должны иметь свою логику в контроллерах. Файл MyCell.m следует использовать для логики инициализации и анимации.

Наконец, в вашем TableViewController подключить все вместе:

#import "MyCell.h" 

#define k_CELL_ID @"k_CELL_ID" 
#define CELL_HEIGHT 80.0f 

@implementation MyTableViewController 


- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    UITableView *theTableView = (UITableView*)self.view; 
    UINib *cellNib = [UINib nibWithNibName:@"MyCell" bundle:nil]; 
    [theTableView registerNib:cellNib forCellReuseIdentifier:k_CELL_ID]; 

    theTableView.rowHeight = CELL_HEIGHT; //not sure if this is ok in iOS 7 
} 

- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath 
{ 
    MyCell *cell = [tableView dequeueReusableCellWithIdentifier:k_CELL_ID]; 
    if (cell == nil) 
     NSLog(@"cell is nil! WTF??"); 

    id someData = //retrieve customization data 
    [cell setupWithCustomData:someData]; 

    return cell; 
} 

@end 
+0

просто действительно оффтопный: почему он не использует IB: http://blog.teamtreehouse.com/why-i-dont-use-interface-builder – CarlJ

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