2016-08-07 58 views
0

我在沒有故事板的幫助下創建UITableViewController。如何以編程方式設置UITableViewController的UITableViewCell樣式?

我有下面的代碼:

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    self.cellReuseIdentifier = @"myViewControllerCellReuseIdentifier"; 
    [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:self.cellReuseIdentifier]; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:self.cellReuseIdentifier forIndexPath:indexPath]; 

    if (cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:self.cellReuseIdentifier]; 
    } 
} 

在這種情況下,單元格樣式是不存在的。我如何解決這個問題?

回答

0

我想如果你只是添加UITableView,請將viewcontroller設置爲委託和數據源,這就夠了。如果你在cellForRowAtIndexPath中設置了一個斷點,它會觸發嗎?

不知道你有做什麼,

[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:self.cellReuseIdentifier]; 

而做到這一點,

self.tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; 
self.tableView.delegate = self; 
self.tableView.dataSource = self; 
[self.view addSubview:self.tableView]; 

讓我知道,如果這就是你要找沒有什麼,好運氣。

+0

是的,一切都會觸發並填充數據。當我從我的UITableViewController的類實現(上面提供)中初始化(然後推送)一個對象時,我傳遞了正確的樣式。我確實爲它的'UITableView'獲得了正確的樣式,但是我沒有爲單元格獲得正確的樣式('UITableViewCell')。 –

+0

您的代碼對於初始化單元格看起來不錯,您是否返回cellForRowAtIndex中的單元格? – JingJingTao

相關問題