PushViewController не работает

У меня есть приложение, которое имеет вид, называемый хранилищем. В этом представлении есть кнопка, которая загружает 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");
}

Журнал "Кнопка работает", поэтому строка pushViewController также запускается.

categoryView сделан в моем файле .h:

 CategoryView IBOutlet *categoryView;
}
@property (nonatomic, retain) IBOutlet CategoryView *categoryView;

В store.xib есть UIViewController с выходом, подключенным к выходу categoryView.

Где-то в моем приложении это работает, и я не могу понять, почему это не

Любая помощь будет оценена! Thnx

Ответ 1

Я нашел его. Поскольку я использовал приложение на основе табулатуры, мне нужно было изменить вкладку хранилища на навигационный контроллер. Когда я его сменил, это сработало! Спасибо за вашу поддержку!

Ответ 2

Вы назначили UINavigationController в своем AppDelegate?

@interface

@property (nonatomic, retain) IBOutlet RootViewController *rootViewController;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;

@implementation сделалFinishLaunchingWithOptions

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

[window addSubview:navigationController.view];
[self.window makeKeyAndVisible];

pushViewController отлично работает через все приложение.

Ответ 3

Звучит как

NSLog(@"nav controller = %@", self.navigationController); 

покажет, что navigationController равен нулю.

Я предлагаю создать новый проект типа навигации и посмотреть, как это должно быть настроено.

Ответ 4

Если ваше представление основано на nib, вам нужно использовать:

categoryView = [[CategoryView alloc] initWithNibName:nibName bundle:nibBundle];

Надеюсь, что это поможет.