UITabBarController с UIPopOverController

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

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

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

  • Как скрыть цифровую клавиатуру?
  • Как изменить UITableViewCell с помощью UIButton?
  • Как использовать @protocol в приложении AppDelegate для iPhone?
  • Кто-нибудь удалось отправить SpeakHere для ARC?
  • Универсальная платформа IOS (kstenerud)
  • Как добавить файл .sql в sqlite db в Xcode
  • NSInvalidArgumentException, причина: «Storyboard не содержит контроллер представления с идентификатором« SomeController »
  • MKMapView по-прежнему отправляет сообщения делегату после того, как его супервизор был отключен
  • 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/

    Interesting Posts

    Клавиатура UIWebView – избавление от панели «Предыдущий / Следующий / Готово»

    как получить новый добавленный идентификатор контакта с помощью CNContactStoreDidChangeNotification?

    Получение UDID через частный API

    Какую структуру я должен использовать для воспроизведения аудиофайла (WAV, MP3, AIFF) в iOS с низкой задержкой?

    синтаксический анализ объекта NSData

    iOS Как я могу использовать UApplication launchApplicationWithIdentifier, который находится в частных API?

    Аутентификация анонимно с использованием инфраструктуры XMPP в iOS

    Интеграция XLForms пустой tableView

    Проверьте медленное подключение к Интернету iOS

    Swift – удалить заголовок из backBarButtonItem, но сохранить стрелку

    Выяснение, заблокировано ли устройство, из виджета уведомлений

    Как обратный вызов C возвращает объект Objective-C с помощью указателя userdata?

    Универсальные ссылки на iOS и глубокие ссылки (схемы URL)

    iOS проверяет, существует ли делегат перед вызовом метода

    mp3-кодер в iOS с arm64

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