UITabBarController с UIPopOverController

Я получил требование, когда мне нужно реализовать UIPopOverController из UITabBarController, который находится в UITabBarController, когда я нажимаю одну из вкладок, которая называется, например, «pop», тогда popover должен отображаться с двумя полями. Мой вопрос в том, что лучший способ достичь этого. В случае, если есть какой-либо пример либо видео, либо только некоторые объясненные материалы, вы также можете поделиться ссылками со мной. Просто медведь со мной, так как я мочу ноги в окружающей среде.

Мы ценим любые предложения!

Спасибо Максу

Я собрал образец проекта, который отобразит UIPopoverController над выбранным UITabBarItem.

http://mobileoverlord.com/displaying-a-uipopovercontroller-from-a-uitabbaritem/

Это содержит немного взлома, потому что вам нужно выполнять итерацию через подпункты TabBar. Кроме того, на iOS 5 может быть иная, поскольку фоновый вид TabBar находится в массиве subview TabBar. Его реализовано в методе делегата tabBarController

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { NSInteger index = [[self tabBarController] selectedIndex]; CGRect buttonFrame = [[[[[self tabBarController] tabBar] subviews] objectAtIndex:index+1] frame]; PopOverViewController *popoverView = [PopOverViewController new]; popoverView.contentSizeForViewInPopover = CGSizeMake(250, 300); popover = [[UIPopoverController alloc]initWithContentViewController:popoverView]; NSLog(@"X:%f Y:%f",buttonFrame.origin.x,buttonFrame.origin.y); [popover presentPopoverFromRect:buttonFrame inView:self.tabBarController.tabBar permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES]; } 

Вот пример кода. Не стесняйтесь комментировать и манипулировать.

https://github.com/mobileoverlord/UITabBarPopOver-Demo

Если вы хотите ограничить его только тогда, когда нажата определенная кнопка, вы можете отфильтровать класс входящего viewController как это

 - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { if ([viewController isKindOfClass:[SecondViewController class]]) { NSInteger index = [[self tabBarController] selectedIndex]; CGRect buttonFrame = [[[[[self tabBarController] tabBar] subviews] objectAtIndex:index+1] frame]; PopOverViewController *popoverView = [PopOverViewController new]; popoverView.contentSizeForViewInPopover = CGSizeMake(250, 300); popover = [[UIPopoverController alloc]initWithContentViewController:popoverView]; NSLog(@"X:%f Y:%f",buttonFrame.origin.x,buttonFrame.origin.y); [popover presentPopoverFromRect:buttonFrame inView:self.tabBarController.tabBar permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES]; } } 

Это мое решение, в котором я находился, « https://github.com/mobileoverlord/UITabBarPopOver-Demo » на основе указанных выше модификаций. Ниже приведена моя демоверсия. https://github.com/mrhyh/iPad/tree/master/

  • Как получить доступ к журналу устройства (не сообщать о сбоях) в организаторе Xcode
  • Как изменить UITableViewCell с помощью UIButton?
  • Как установить типы документов в XCode 4.2?
  • Скрыть кнопку одним касанием
  • MPMoviePlayerController Remove Toggle Button и Minimize
  • MKMapView по-прежнему отправляет сообщения делегату после того, как его супервизор был отключен
  • Проблема с сигнатурой канала IOS SDK для Facebook после проверки подлинности
  • Что случилось с Windows на основе приложения в Xcode 4.2?
  • Несколько представлений в контроллере просмотра раскадровки Xcode, один из них не появится в редакторе раскадровки
  • Как добавить Entitlement.plist в xCode 4.2
  • Имитировать местоположение, включая перемещение в Xcode 4.2 / iOS5
  • Interesting Posts

    Как определить перечисление битовой маски категории для SpriteKit в Swift?

    чтение образцов с помощью AVAssetReader и timeRange в режиме реального времени

    Нужно ли мне отдельно тестировать iPod touch, iPad и iPhone?

    Фоновое изображение внешнего вида UINavigationBar, дублированное и размытое в iOS 7.1

    Основные данные, NSNumber, Integer 32 и Integer 64

    Смешивание изображений и видео с помощью AVFoundation

    Как сделать свой собственный пользовательский UIColor другим, чем предустановленные?

    Интерполирование UITextFields с помощью UITextView с использованием текстового набора?

    Перезагрузка заголовка tableView в ios7

    Совместное использование пользовательских историй с использованием диалога общего доступа

    NSPredicate для проверки NULL и пустых строк

    В iOS7 можно ли добавить в систему пользовательскую клавиатуру? Или это все еще песочница?

    Получить уникальные объекты в конце отношений для получения результатов

    Магическая запись не может сохранить объект: contextDidSave == NO, error = nil

    Почему блокировка должна быть скопирована и не сохранена? Когда вам не нужно копировать блок?

    Давайте будем гением компьютера.