pushViewController не работает - PullRequest
       29

pushViewController не работает

11 голосов
/ 06 июля 2011

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

Ответы [ 4 ]

12 голосов
/ 06 июля 2011

Вы присвоили UINavigationController в своем AppDelegate?

@ interface

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

@ Реализация didFinishLaunchingWithOptions

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

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

pushViewController работает нормально, тогда через все приложение.

10 голосов
/ 06 июля 2011

Похоже, что

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

покажет, что navigationController равен nil.

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

3 голосов
/ 07 июля 2011

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

1 голос
/ 06 июля 2011

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

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

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

...