Вы можете использовать навигационный контроллер и кнопку на панели сверху.Вставьте второй контроллер вида в контроллер навигации.Добавьте элемент кнопки панели и передайте его действие методу, который отклонит ваш поповер контроллер в первом контроллере представления.Возможно, вы можете использовать следующий код:
Поскольку вы создаете UIPopoverController, я предполагаю, что вы уже добавили UIPopoverConterollerDelegate
в файл .h вашего первого контроллера представления.
ОбъявитеUIPopoverController *popover;
в файле .h вашего первого контроллера представления.
напишите следующие коды, где вы создаете контроллер popover.
-(IBAction)createPopoverController
{
SecondViewController *secondViewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
UIBarButtonItem *dismissButton = [[UIBarButtonItem alloc] initWithTitle:@"Dismiss" style:UIBarButtonItemStyleBordered target:self action:@selector(dismissButtonPressed:)];
[secondViewController.navigationItem setRightBarButtonItem:dismissButton];
UINavigationController* navC = [[UINavigationController alloc] initWithRootViewController:secondViewController];
popover = [[UIPopoverController alloc] initWithContentViewController:navC];
popover.delegate = self;
[popover setPopoverContentSize:CGSizeMake(secondViewController.view.frame.size.width, secondViewController.view.frame.size.height) animated:YES];
[popover presentPopoverFromRect:yourButton.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
[secondViewController release];
}
-(void)dismissButtonPressed:(id)sender
{
[popover dismissPopoverAnimated:YES];
}
Надеюсь, это поможет вам.:)