0

何らかの理由で、homeButtonが押された後、ペン先が読み込まれません。ただし、NSLogは正しく実行されます。

- (IBAction)homePressed:(id)sender {
    NSLog(@"hi");
  [[NSBundle mainBundle] loadNibNamed:@"rewardViewController" owner:self options:nil];
    NSLog(@"hey");
}

誰もがこのコードの何が問題になっているのか知っていますか?

ありがとう!

4

1 に答える 1

3

コードに構文上の問題はありませんが、loadNibNamedが何をするのか誤解しているのではないかと思います。新しいnibファイルをロードして画面を変更しようとしている場合は、UINavigationControllerを調べてください。

コードは次のようになります。

    UIViewController *viewController = [[UIViewController alloc] initWithNibName:@"ViewControllerName" bundle:nil];
[self.navigationController pushViewController:viewController animated:YES];

上記のようにloadNibNamedを実際に使用するつもりだった場合は、それを便利にするために何かに割り当てる必要があります。たとえば、nibにUIViewControllerのインスタンスが含まれている場合は、次のようにします。

UIViewController *viewController = [[NSBundle mainBundle] loadNibNamed:@"rewardViewController" owner:self options:nil];

これにより、nibファイルのコンテンツを含むUIViewControllerの新しいインスタンスが作成されます。その後、そのUIViewControllerを使用してやりたいことが何でもできます。

于 2013-01-25T21:29:48.880 に答える