Я пытаюсь добавить кнопку информации в верхнюю часть панели навигации. Кнопка информации направляет пользователя к информационному представлению. Следующий код добавляет информацию о iPhone по умолчанию в навигационную панель. Он помещается внутри функции RootViewController.m viewDidLoad.Как добавить значок информации в панель навигации и реализовать метод showInfoView?
UIButton* infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight];
[infoButton addTarget:self action:@selector(showInfoView:) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:infoButton];
Теперь метод showInfoView должен быть реализован, и используется следующий код:
- (IBAction)showInfoView:(id)sender {
// Create the root view controller for the navigation controller
// The new view controller configures a Cancel and Done button for the
// navigation bar.
InfoViewController *addController = [[InfoViewController alloc]
initWithNibName:@"InfoView" bundle:nil];
// Configure the RecipeAddViewController. In this case, it reports any
// changes to a custom delegate object.
addController.delegate = self;
// Create the navigation controller and present it modally.
UINavigationController *navigationController = [[UINavigationController alloc]
initWithRootViewController:addController];
[self presentModalViewController:navigationController animated:YES];
// The navigation controller is now owned by the current view controller
// and the root view controller is owned by the navigation controller,
// so both objects should be released to prevent over-retention.
[navigationController release];
[addController release];
}
Но когда программа строит и работает, нажав на результаты Информация кнопку в программа сбой.
Неужели кто-нибудь сталкивался с этой проблемой раньше? Я искал экстенсивно, и я не видел какого-либо органа с проблемой реализации метода showInfoView.
Выдает следующую ошибку: *** нагрузочного приложение из-за неперехваченного исключения «NSInvalidArgumentException», причина: '- [UIButton createViewForNavigationItem:]: непризнанный селектор, отправленный на экземпляр 0x4b51bb0' – Richard