Я создал подкласс UITableViewCell . До сих пор я использовал только те ячейки, которые «разработаны» в моей раскадровке, где я могу настроить сегменты.
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
[super prepareForSegue:segue sender:sender];
NSIndexPath *indexPath = [self.tableView indexPathForCell:sender];
if ([[segue identifier] isEqualToString:@"showNews"]) {
NewsViewController *newsViewController = [segue destinationViewController];
News *news = (News*)[self.fetchedResultsController objectAtIndexPath:indexPath];
newsViewController.news = news;
}
}
После того как я создал свой подкласс UITableViewCell Я больше не могу использовать раскадровку для создания сегментов для пользовательской ячейки, верно? Я попытался создать ячейку в раскадровке и установить для ее класса свой собственный класс, но при запуске приложения эта ячейка становится пустой.
Так что вместо этого я просто размещаю и запускаю пользовательскую ячейку в моем tableView:cellForRowAtIndexPath
:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"WSTableViewCell";
WSTableViewCell *cell = (WSTableViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[WSTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
WSObject *item = [self.fetchedResultsController objectAtIndexPath:indexPath];
[cell.titleLabel setText:item.title];
return cell;
}
Затем в tableView:didSelectRowAtIndexPath
Я пытаюсь создать элемент управления NewsViewController, настроить элемент новостей и отправить его навигатор контроллера:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
News* news = [self.fetchedResultsController objectAtIndexPath:indexPath];
NewsViewController *newsViewController = [[NewsViewController alloc] init];
newsViewController.news = news;
[[self navigationController] pushViewController:newsViewController animated:YES];
}
Но когда я выбираю строку, мой NewsViewController не отображается - вместо этого я вижу пустой вид с черным фоном. Как я могу справиться с этим? Можно ли все еще использовать seques?