UITabBarController с UIPopOverController

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

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

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

2 Solutions collect form web for “UITabBarController с UIPopOverController”

Я собрал образец проекта, который отобразит 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/

  • Как изменить UITableViewCell с помощью UIButton?
  • Симулятор Core Location на Xcode 4.2 Не работает -Любые подсказки?
  • Создание статической библиотеки, содержащей библиотеку RestKit
  • Проблема с сигнатурой канала IOS SDK для Facebook после проверки подлинности
  • интернационализация приложения iPhone
  • Как установить путь для «пути поиска заголовка» при добавлении сторонней библиотеки в приложение iPhone
  • Включение символа аварийных логов в Xcode 4.2
  • Xcode не может обнаружить устройство iPhone с iOS 5.1
  • Как инициализируется представление при загрузке через раскадровку?
  • Конфигурация Subversion в Xcode
  • rootViewController, установленный в Storyboard, не отображающийся в App Launch
  • Interesting Posts

    Как разрешить автозаблокировку iPhone при воспроизведении видео

    Храните UITableView padding в заголовке, но нет в разделителе на IOS7

    Основные данные: «Левая сторона для оператора ALL или ANY должна быть либо NSArray, либо NSSet».

    Реактивный какао: подписаться только на новые значения

    Приложение Xcode застряло в ландшафтном режиме

    Сбой реквизит: получение доступа к json возвращено

    Как добавить 3d-объект в качестве маркера на Google Maps, например, Uber

    Как исключить iPod touch 4-го поколения для приложения

    -webkit-overflow-scrolling Проблемы с объектами, вставленными в DOM

    Как мы можем скрыть tableHeaderView и tableFooterView?

    Первые два выхода шейдера фрагмента различны

    iOS: Как скопировать базу данных с предварительным посевом в первом запущенном приложении с SQLite.swift в место для записи?

    запись с метроном заданной длины с использованием дистанционного ввода-вывода

    почему setBackBarButtonItem не работает в представлении childViewControllerDIdLoad?

    -writeToURL не перезаписывает предыдущую запись

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.