3

その場でビューコントローラーを作成し、そのビューとタイトルバーを設定しようとしています。物事はうまくいっているようです。しかし、ナビゲーションバーの左ボタンまたは右ボタンを設定しようとすると、表示されません。私は何を間違っていますか?

   UIWebView *tempWebView = [[UIWebView alloc] initWithFrame:self.view.bounds];
    [tempWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"someurl"]]];

    UIViewController* tempViewController = [[UIViewController alloc]init];
    tempViewController.view = tempWebView;

    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:tempViewController];

    UIBarButtonItem* closeButton = [[UIBarButtonItem alloc] initWithTitle:@"Close" style:UIBarButtonItemStyleBordered target:self action:nil];
    navigationController.navigationItem.leftBarButtonItem = closeButton;


    [self presentViewController:navigationController animated:YES completion:nil];
4

2 に答える 2

8

変化する

navigationController.navigationItem.leftBarButtonItem = closeButton;

tempViewController.navigationItem.leftBarButtonItem = closeButton;

外観は、navigationItemnav コントローラーによって表示されるビューによって処理されるため、 ではUINavigationControllerなく で設定するrootViewControllerと、最初にプッシュしたときに上書きされます。

于 2013-03-28T18:30:11.700 に答える
1

navigationController ではなく、tempViewController の navigationItem にアクセスする必要があります。

于 2013-03-28T18:28:22.537 に答える