0

私はShareKit、iOS アプリのオープンソース共有財団と協力しています。Kit がルート ビュー コントローラーを検出できないという既知のバグがあります。そのバグの修正は[SHK setRootViewController:myViewController];、アプリ デリゲートを追加することです。

修正がUIApplication didFinishLaunchingメソッドにある場合、View Controller はそのままではありませんselfか? 私は何が欠けていますか?私も試しましたがself.viewController、役に立ちませんでした。self.window.rootViewControllerself.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;
}
4

1 に答える 1

2

didFinishLaunching で「self」のみである場合は、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]; 
于 2011-07-25T23:04:29.030 に答える