Идея.
Я занимаюсь разработкой приложения на основе TabBarController.
Существуют следующие 3 элемента TabBarItems:
- Home(показывает homeView в контроллере навигации)
- Content (показывает contentView в контроллере навигации)
- Поделиться (не делает то, к чему привык)
IХотелось бы, чтобы TabBarItem "Share" отображал лист действий в текущем представлении, а не изменял представление.
Что я сделал.
С помощьюСледующие строки я могу получить "Поделиться" -TabBarItem Нажмите / Touch.
-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
if ([item.title isEqualToString:@"Share"]) {
actionSheet = [[UIActionSheet alloc] initWithTitle:@"Share this App" delegate:self cancelButtonTitle:@"Cancle" destructiveButtonTitle:nil otherButtonTitles:@"Share on FaceBook", nil];
actionSheet.actionSheetStyle = UIBarStyleBlackTranslucent;
[actionSheet showInView:[UIApplication sharedApplication].keyWindow];
[actionSheet release];
}
Проблема.
Каждый раз, когда я выбираю "Поделиться",отображается пустое представление.
Как я могу запретить TabBarItem загружать свое представление, просто вызывая отображение листа действий?
Привет и спасибо за внимание к моей проблеме!
@ Christopher A: спасибо за ваш ответ.
Поместил следующий код в мой "projectAppDelegate.m", но метод не cразрешается при выборе вкладки.
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
if ([viewController.title isEqualToString:@"Share"]) {
return NO;
}
return YES;