pushViewController无法正常工作

Jos*_*Jos 11 iphone objective-c uinavigationcontroller pushviewcontroller ios

我有一个应用程序,它有一个名为store的视图.在此视图中,有一个加载DetailView的按钮.问题是此详细视图无法加载/显示.这是我使用的代码:

-(void)knop:(id)sender{
    categoryView = [[CategoryView alloc] init];
    //show detail view using buttonDetail...
    [self.navigationController pushViewController:categoryView animated:YES];
    [categoryView release];
    NSLog(@"Button is working");
}
Run Code Online (Sandbox Code Playgroud)

日志"按钮正在工作"日志,因此也会触发pushViewController行.

categoryView是在我的.h文件中制作的:

 CategoryView IBOutlet *categoryView;
}
@property (nonatomic, retain) IBOutlet CategoryView *categoryView;
Run Code Online (Sandbox Code Playgroud)

在store.xib中有一个UIViewController,其出口链接到categoryView出口.

在我的应用程序的其他地方这是有效的,我似乎无法找出为什么这个不是

任何帮助,将不胜感激!日Thnx

Pat*_*ick 12

你在AppDelegate中分配了UINavigationController吗?

@接口

@property (nonatomic, retain) IBOutlet RootViewController *rootViewController;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
Run Code Online (Sandbox Code Playgroud)

@implementation didFinishLaunchingWithOptions

rootViewController = [[RootViewController alloc] initWithNibName:@"RootView" bundle:nil];
navigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];

[window addSubview:navigationController.view];
[self.window makeKeyAndVisible];
Run Code Online (Sandbox Code Playgroud)

pushViewController工作正常,然后贯穿整个App.


bsh*_*ley 10

这听起来像

NSLog(@"nav controller = %@", self.navigationController); 
Run Code Online (Sandbox Code Playgroud)

将显示navigationController为零.

我建议创建一个新的导航类型项目,看看应该如何设置.


Jos*_*Jos 3

我已经找到了。由于我使用的是基于选项卡栏的应用程序,因此我需要将商店选项卡更改为导航控制器。当我改变它时,它起作用了!感谢您的支持!!!

  • 好的,在你的 main.xib 中。您可能已经声明了您拥有哪些视图...这是您的选项卡栏本身所在的 xib。您只需要选择您的视图并确保它是一个导航控制器 (2认同)