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/

  • как мы можем открыть уже существующую базу данных fmdb и куда ее включить?
  • Если Xcode Storyboard поддерживает segues из UITableView с ячейками «динамического прототипа»?
  • Xcode: Scheme scripts vs Целевые скрипты
  • Программно заданный образ и текст на UIButton
  • iOS симулятор не обновляет
  • Просмотр измененных файлов в Xcode 4.2 Возможности SCM
  • NSInvalidArgumentException, причина: «Storyboard не содержит контроллер представления с идентификатором« SomeController »
  • Проблема SIGABRT Xcode 4.2
  • Apple Mach-O Linker Предупреждение о прямом доступе в ... глобальном слабом символе
  • Как использовать c ++ и object-c вместе в XCode 4.2
  • Xcode 4.2 как включить один проект в другой?
  • Interesting Posts

    Как добавить геозонность региона для мониторинга.

    sqlite не обновляет мою базу данных iOS

    predicateWithSubstitutionVariables всегда выдает исключение

    Странное поведение UIWebView с политикой кэша

    iOS Facebook SDK – получение писем друзей

    Использование `textField: shouldChangeCharactersInRange:`, как мне получить текст, включая текущий типизированный символ?

    Переданный делегат MFMessageComposeViewController

    UIButton UIControlEventTouchUpInside не запускается, но UIControlEventTouchDown срабатывает

    Как добавить iOS пользовательский шрифт с тем же именем, но с другим весом?

    UIView внутри UIScrollView не обновлялся, несмотря на вызов метода «setNeedDisplay»

    Связанные проблемы с базой данных с компиляцией Bitcode

    Не удалось найти сертификат соответствия для com.xyz.profile.mdm?

    Objective C вставляет переменную между двумя строками concat

    NSDateFormatter не работает для даты Twitter

    как сделать контроллер повторного использования UIPageViewController похожим на ячейку повторного использования таблицы?

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