Просто дизайн 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
Что вы сделали до сих пор, что не работает? –
Я сделал это в режиме прокрутки, создавая представления в цикле for, он отлично работает для меня, но wen делает синтаксический анализ evrytime, он создает представление в цикле for, поэтому для отображения страницы требуется длительное время ..... @ XCode Monkey – KSR