Я разрабатываю простой проект браузера на mac, я не использовал диспетчер представлений по умолчанию.OS X как назначить startup viewcontroller
Вместо этого я пишу класс viewcontroller BrowserViewController. и писать следуют в AppDelegate
@interface AppDelegate()
@property (nonatomic, strong) BrowserViewController *browserController;
@end
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
self.browserController = [[BrowserViewController alloc] init];
[self.window makeKeyWindow];
[self.window setContentView:self.browserController.view];
}
@end
Но когда приложение запускается это приведет к ViewController по умолчанию не BrowserViewController. Я действительно не знаю причины.
Спасибо за помощь, я решил эту проблему. Мое решение так:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
//set the frame of the window fit to the device's frame
//
self.window = [[NSWindow alloc] initWithContentRect:[[NSScreen mainScreen] frame] styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO ];
//
//
self.browserController = [[BrowserViewController alloc] init];
//set contentView
//
self.window.contentViewController = self.browserController;
//this is setting global backgroundColor of the window
//
self.window.backgroundColor = [NSColor whiteColor];
//this means the window is the window that will receive user interaction.
//
[self.window makeKeyAndOrderFront:self];
//[self.window makeKeyWindow];//NOTE: This is not working.
}
Вы должны пометить язык, это упростит поиск вашего вопроса, а также изменит подсветку синтаксиса кода. – crashmstr