Root View Controller? - PullRequest
       13

Root View Controller?

0 голосов
/ 26 июля 2011

Я работаю с ShareKit, фондом с открытым исходным кодом для приложений iOS.Существует известная ошибка, которая не позволяет Kit определить ваш контроллер корневого представления.Исправление для этой ошибки - добавление [SHK setRootViewController:myViewController]; в делегат приложения.

Если исправление в методе UIApplication didFinishLaunching, не будет ли контроллер представления просто self?Что мне не хватает?Я также пытался self.viewController, self.window.rootViewController и self.window безрезультатно.

РЕДАКТИРОВАТЬ: Вот и все didFinishLoading:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.viewController = [[Chatter_BoxViewController alloc] initWithNibName:@"Chatter_BoxViewController" bundle:nil]; 
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    [SHK setRootViewController:self.viewController];

    return YES;
}

1 Ответ

2 голосов
/ 26 июля 2011

Если бы это было только "я" в didFinishLaunching, то это относилось бы к UIApplication, вы не согласны?Вы правильно запускаете viewController?Отправьте еще немного кода.:)

Комментарий к вашему редактированию:

Если у вас нормально настроено окно в XIB, вам это не нужно:

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

Также, если вы делаетеэто (предполагается, что ваш viewController сохраняется как свойство):

self.viewController = [[Chatter_BoxViewController alloc] initWithNibName:@"Chatter_BoxViewController" bundle:nil]; 

У вас будет утечка.Просто сделайте это:

viewController = [[Chatter_BoxViewController alloc] initWithNibName:@"Chatter_BoxViewController" bundle:nil]; 
...