Как добавить Uinavigation контроллер в приложении, основанном на представлении - PullRequest
2 голосов
/ 13 сентября 2011

Я хотел добавить контроллер навигации в приложение на основе представления. Как мы можем сделать это как программно, так и с помощью XIB-файла ..

Ответы [ 4 ]

2 голосов
/ 13 сентября 2011

Если вам нужно встроить навигационный контроллер в ваш контроллер uiview, вам нужно инициализировать его следующим образом

UIViewController *yourViewController = ...

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:yourViewController];

[self presentModalViewController:navController animated:YES];

//you need to release the controller
[navController release];

Если вы используете метод UIApplicationDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

Вы не можете сделать presentModalViewController: navController animated ... тогда вам нужно добавить navController.view в окно

    UIViewController *yourViewController = ...

    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:yourViewController];
    [self.window addSubview:navController.view];
    //don't do a release of navController because is not retained by addSubview
0 голосов
/ 13 сентября 2011

Если вы хотите иметь навигационный контроллер в качестве корневого представления для вашего главного окна. Тогда вы можете сделать это, используя следующий код.

@interface yourAppDelegate_iPad : NSObject <UIApplicationDelegate> {
    UINavigationController *navigationController;
}

@property (nonatomic, retain) UINavigationController *navigationController;

@end

@implementation yourAppDelegate
@synthesize navigationController;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {


    navigationController = [[UINavigationController alloc] initWithRootViewController:yourRootViewController];
    [self.window addSubview:navigationController.view];
    [self.window makeKeyAndVisible];
    return YES;
}

Вы можете сделать это, используя xib следующим образом

  1. Открыть MainWindow.xib
  2. Перетащите UINavigationController к нему.
  3. Создание и подключение розеток.
  4. Открыть атрибуты для контроллера навигации и установить рут вид.
0 голосов
/ 13 сентября 2011

Вы можете просто перетащить «Панель навигации» из ваших объектов в правом нижнем углу Interface Builder. Это в основном делает то, что говорит Сачин в своем ответе, но вам все еще нужно программно создать функциональность контроллера навигации. Т.е. добавление новых представлений в стек и их удаление.

На мой взгляд, это проще всего сделать в коде.

0 голосов
/ 13 сентября 2011
UINavigationController *navcontroller = [[UINavigationController alloc] initWithRootViewController:viewController];//here viewController is to which you want to make the navigation

[self.view addSubView:navController.view];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...