2013-09-02 1 views
4

У меня есть AppDelegate и mainWindow.xib. Я создал еще viewController и звонил от AppDelegate, и он работает хорошо. Теперь я сомневаюсь в том, можно ли сделать контроллер представления как root с добавлением его к mainWindow.xib. Должен ли он загрузить наш взгляд с mainWindow.xib?Как установить контроллер представления в виде корневого представления в Cocoa?

Я зову контроллер представления, как этот

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification 
{ 
    self.view = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
    [self.window.contentView addSubview:self.view.view]; 
    self.view.view.frame = ((NSView*)self.window.contentView).bounds; 
} 
+6

почему все ответы о UIKit –

ответ

2

Попробуйте это:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification 
{ 
    self.view = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    self.window.rootViewController = self.view; 
} 
+0

показывая ошибку UIWindow необъявленная – Yohan

+0

Объявить его '@property (Assign) IBOutlet NSWindow * окно ; 'или' @property (сильный, неатомный) UIWindow * window; ' – Ashwani

+2

Оператор задает вопрос о какао (рабочий стол). Где ваши классы «UIWindow» и «UIScreen»? – Ethan

4

Попробуйте использовать

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

    self.viewControllerObj = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    self.window.rootViewController = self.viewControllerObj; 

    [self.window makeKeyAndVisible]; 
    return YES; 

} 
1

1.Add это ваш appdelegate.h

@property (strong, nonatomic) UIWindow *window; 

2.Add это ваш appdelegate.m в методе didFinishLaunching

self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 
self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease]; 
self.window.rootViewController = self.viewController; 
[self.window makeKeyAndVisible]; 

return YES; 

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

  • Нет связанных вопросов^_^