iphone: не удается отобразить кнопку «Назад» на панели навигации

#iphone #uinavigationcontroller #modalviewcontroller

#iPhone #uinavigationcontroller #modalviewcontroller

Вопрос:

пожалуйста, помогите мне с этим, это действительно неустойчиво, я не могу добавить кнопку на панель навигации modalview

 UINavigationController *tempModalVC=[[UINavigationController alloc] init];
[tempModalVC.navigationBar setBarStyle:UIBarStyleBlack];
//UIBarButtonItem *tempDoneBTN=[[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStylePlain target:self action:@selector(hideModalView:)];

UIBarButtonItem *tempDoneBTN=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(hideModalView:)];

[tempModalVC.navigationItem setBackBarButtonItem:tempDoneBTN];
[tempModalVC.navigationItem setTitle:@"Title"];
tempModalVC.navigationItem.backBarButtonItem.enabled=YES ;
//[tempModalVC.navigationBar setRightBarButtonItem:[[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStyleBordered target:self action:@selector(hideModalView:)]];
//[tempModalVC.navigationItem setRightBarButtonItem:[[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStyleBordered target:self action:@selector(hideModalView:)]];
[tempDoneBTN release];
[tempModalVC.view addSubview:mapView];

tempModalVC.modalPresentationStyle = UIModalPresentationFormSheet;
  

Пожалуйста, помогите мне с этим, я перепробовал почти все комбинации перестановок.

Спасибо заранее

Ответ №1:

Похоже, что вы хотите отобразить MapView в модальном представлении.

На iPhone модальные представления занимают весь экран, поэтому для панели навигации нет места. Таким образом, вам не нужен навигационный контроллер.

Я предполагаю, что приведенный выше код находится внутри экземпляра UIViewController. Если это так, просто сделайте это:

   [self presentModalViewController:mapView animated:YES/NO];
  

В этом случае в вашем контроллере MapView вам следует добавить кнопку, которая при нажатии выполняет следующее:

   [self dismissModalViewControllerAnimated:YES/NO];