2013-03-28 2 views
3

즉석에서 뷰 컨트롤러를 만들고 뷰와 제목 표시 줄을 설정하려고합니다. 상황이 잘 작동하는 것 같습니다. 그러나 탐색 바의 왼쪽 버튼이나 오른쪽 버튼을 설정하려고하면 표시되지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?버튼이 UINavigationController에 표시되지 않음

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]; 

답변

7

변경

navigationController.navigationItem.leftBarButtonItem = closeButton; 

tempViewController.navigationItem.leftBarButtonItem = closeButton; 

navigationItem 외관은 탐색 컨트롤러에 의해 제시되고있는 뷰에 의해 처리, 그렇게되는 당신은 UINavigationController에 있지만 rootViewController을에 설정하면 처음 푸시 할 때 우선 적용됩니다.

+0

이렇게하면 ParentViewController를 사용하여 leftbarbutton을 설정하는 데 도움이됩니다. – Irwin

1

navigationController가 아니라 tempViewController의 navigationItem에 액세스해야합니다.

관련 문제