pushViewController导致黑屏,没有STORYBOARD

时间:2015-05-04 15:49:07

标签: ios objective-c

我看到所有其他解决方案,对我来说没有任何作用。当我启动应用程序时,它工作正常,但当我单击一个表项并推送一个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;

1 个答案:

答案 0 :(得分:1)

我解决了。问题是我实现了方法“loadView”,但我不知道那个方法是由iOS实现的,所以我没有调用super,它没有绘制任何东西。

感谢大家的回复。