将UIViewController推送到NavigationController实际上并不推送视图

Enr*_*tyo 4 iphone uitableview uiviewcontroller ios4

我在我的表视图控制器(和委托)中有这个代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    DetailStatus *detailViewController = [[DetailStatus alloc] initWithNibName:@"DetailStatus" bundle:nil status:[mStatuses objectAtIndex:indexPath.row]];
    [[self navigationController] pushViewController:detailViewController animated:YES];
    [detailViewController release];     
    [self.tableView deselectRowAtIndexPath:indexPath animated:NO];
    NSLog(@"exiting didselectrow");

}
Run Code Online (Sandbox Code Playgroud)

在我的DetailStatus类中:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil status:(NSDictionary *)pStatus {
    NSLog(@"I am being called %d", [pStatus objectForKey:@"id"]);
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

    if (self) {
        // some stuff
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

有趣的是,我的DetailStatus实际上正在初始化,在控制台窗口,它甚至输出"I am being called 000001"但奇怪的是视图没有被推到表视图...

我检查了笔尖的名字,没关系.我检查了DetailStatus标题文件,它看起来没问题(像这样):

@interface DetailStatus : UIViewController {
Run Code Online (Sandbox Code Playgroud)

所以有人知道为什么视图没有被推到窗口,即使我已经初始化并推动了它?

更新:我尝试将一些调试消息记录到DetailStatus中的viewDidLoad,看起来即使该类被实例化也没有加载视图......我想知道为什么.

UPDATE2:我觉得这可能是我的导航控制器组织错了..我有以下内容:

Login page -> customtabbar -> First table view -> DetailStatus
                           -> Second table view -> DetailStatus
Run Code Online (Sandbox Code Playgroud)

我想我只在该层次结构中维护一个导航控制器.我从未创建过其他导航控制器.我只推动一个又一个的观点.

谢谢大家的答案!我会尽快给出赏金,我会让其他人在赏金到期前先投票.

Aja*_*rma 6

看了之后,这个场景似乎跟我一样.第一次做Tab + Navigation时我遇到了什么.

我确信基于Tab + Navigation的应用程序存在一些问题.虽然它显示Tab以及导航无法导航基本流程.并且使用如此少的代码解决您的问题非常困难.

而不是这个,我有一个替代解决方案:

一旦在XIB中有一个标签栏,最简单的方法是将UINavigationController对象从Library窗口(看起来像金色背景上的左侧导航栏按钮)拖动到标签栏的树视图中(仅文本视图,而不是GUI).将其放在标签栏下,然后将标签栏控制器下的现有视图控制器拖动到标签栏下方.

当您去查看该选项卡时,您应该看到它顶部的导航栏...如果您从另一个xib加载导航控制器,您将修改选项卡栏xib中的导航栏.

否则你可以在下面你可以按照相同的最佳网址:

http://books.google.co.in/books?id=2yYlm_2ktFYC&pg=PA179&lpg=PA179&dq=navigation+with+the+tab+based+application+iphoneSDK&source=bl&ots=nf2YYjX5Am&sig=COpHj9wOtsDChQBglpsljSTsElw&hl=en&ei=3ZoFTeGSOI_tsgbc_Iz6CQ&sa=X&oi=book_result&ct=结果&resnum = 6&VED = 0CDAQ6AEwBQ#v = onepage&q&F =假

http://www.youtube.com/watch?v=LBnPfAtswgw

希望这肯定能解决你的问题.