我看到所有其他解决方案,对我来说没有任何作用。当我启动应用程序时,它工作正常,但当我单击一个表项并推送一个ViewController时,屏幕变黑,并永远保持黑色。这是我的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:NO];
ToDoItemViewController *itemViewController = [[ToDoItemViewController alloc] initWithNibName:@"ToDoItemViewController" bundle:[NSBundle mainBundle]];
ToDoItem *itemSelected = [[self toDoItems] objectAtIndex:indexPath.row];
itemViewController.toDoItem = itemSelected;
itemViewController.delegate = self;
[self.navigationController pushViewController:itemViewController animated:YES];
}
Nib的名称是可以的,以及ToDoItemViewController:
- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
}
return self;
}
提前致谢,
请记住,我不会使用故事板而我想保留
修改
以下是我启动第一个ViewController的方法
ListadoViewController *listadoViewController = [[ListadoViewController alloc] initWithNibName:@"ListadoViewController" bundle:nil];
CustomNavigationController *navCtrl = [[CustomNavigationController alloc] initWithRootViewController:listadoViewController];
self.window.rootViewController = navCtrl;
答案 0 :(得分:1)
我解决了。问题是我实现了方法“loadView”,但我不知道那个方法是由iOS实现的,所以我没有调用super,它没有绘制任何东西。
感谢大家的回复。