1

Как добавить контроллер навигации на новый созданный контроллер? Я ищу везде, но все учебные пособия - от создания проекта контроллера навигации.Добавление контроллера навигации на подкласс класса контроллера

Любой может привести mo к учебнику, который создает контроллер навигации с использованием подкласса контроллера представления?

То, что я делал до сих пор:

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

NavController *view=[[NavController alloc] initWithNibName:nil bundle:nil]; 
view.modalTransitionStyle=UIModalTransitionStyleCrossDissolve; 
[self presentModalViewController:view animated:YES]; 
[view release]; 

Добавлен новый подкласс контроллера представления.

Add> New File> UIViewController подкласс с пером

на NavController.h

#import <UIKit/UIKit.h> 


@interface NavController : UIViewController { 

    IBOutlet UIWindow *window; 
    IBOutlet UINavigationController *navCon; 

} 

@property (nonatomic, retain) UIWindow *window; 
@property (nonatomic, retain) UINavigationController *navCon; 

@end 

на NavController.m

#import "NavController.h" 


@implementation NavController 

@synthesize window,navCon; 


- (void)viewDidUnload { 
    [super viewDidUnload]; 

} 

- (void)dealloc { 
    [window release]; 
    [navCon release]; 
    [super dealloc]; 
} 


@end 

я уже перетащил навигации Conrtoller и окно на моем IB и подключенное окно к окну, а контроллер навигации - в навигационные розетки, но что дальше?

ответ

3

Если вы используете раскадровки, выберите свой контроллер просмотра, а затем в верхнем меню выберите «editor»/«embed in»/«navigation controller».

+0

Я использую Xcode 3.2.6. –

0

Как правило, вам необходимо создать объект Navigationcontroller внутри вашего Appdelegate.h (например, существующий объект окна). После этого вы импортируете h.File ViewController в Appdelegate.m и запустите его, как в следующем примере, с помощью menuviewcontroller. stackoverflow

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

#import Viewcontroller 

ViewControllerName controllerVarName = [ViewControllerName alloc] init]; 

[self.navigationcontroller pushViewController:_ViewControllerName animated:YES]; 

Внутри вашего конкретного использования ViewController этой линии, чтобы установить титул Navigationcontroller будет использовать:

self.title = @"titleName"; 
+0

Спасибо за ответ, в моем appdelegate я добавил UINavigationController. И у меня есть контроллер просмотра с учетной записью, после входа я добавил это: [appDelegate.viewController.view removeFromSuperview]; appDelegate.viewController.view = nil; [appDelegate.window addSubview: appDelegate.navigationController.view]; , так что теперь вид теперь меняется на контроллер навигации, затем я создал другое представление с именем «MainView», и указал навигационный контроллер на «MainView». Так что, находясь в «MainView», как я могу получить доступ к навигационному контроллеру? self.title не работает. –

+0

Извините, забыли себя в начале моего кода. при запуске нового «подсмотра» вы проталкиваете его этим методом. Все остальное, как возврат к экрану, будет обрабатываться навигационным контроллером. Чтобы отобразить заголовок вызываемого вида, просто вставьте «self.title = @» titleName «» в ViewDidLoad() ViewController. Вам просто нужно отделить каждое представление этой линией. есть также методы, которые будут делать это динамически, но для этого легче –

+0

На моем главном окне.xib> navigationcontroller, я добавил нить под названием «MainViewController», «MainViewController» - это подкласс uiviewcontroller, в «MainViewController.h» я добавил «self.title = @» titleName », но он, похоже, не работает. –

Смежные вопросы