Как реализовать popover для компонента "Cocoa Touch Framework"?

Вопрос: Как можно реализовать (думаю, я подразумеваю, что я имею в виду под лучшей практикой IOS) модальный поповер в рамках "сенсорной среды какао"?

Предполагается, что это универсальное приложение, которое будет поддерживать iPhone и iPad. Можно предположить, что раскадровка используется для основного приложения, использующего сенсорный каркас какао.

Например, рекомендуется, чтобы компонент передавал обратно "спросите пользователя информацию X,Y,Z в основном приложении и его контроллере представления, а затем используйте такой подход:

    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let controller = storyboard.instantiateViewController(withIdentifier: "EventPopover")
    controller.modalPresentationStyle = .popover
    self.present(controller, animated: true, completion: nil)

Это было бы сложно, и тогда приложение должно было бы быть немного скомпилировано для используемого компонента (/framework), так что это не представляется возможным? В качестве альтернативы, возможно, вручную создать всплывающее представление внутри компонента, но не уверены, выиграете ли вы от оптимального подхода IOS, который помог бы поддерживать iPad и iPhone по сравнению с обычным поповерным подходом?

Например, скажем, у вас есть пользовательский компонент карты, который вы хотите, чтобы пользователь мог включить, но один аспект этого компонента заключается в том, что когда пользователь выбирает / опускает булавку, вы хотите иметь возможность вызвать модальное диалоговое окно для попросите пользователя настроить имя для этого удаленного контакта.

(надеюсь, это имеет смысл)

1 ответ

Решение

Я обнаружил, что использование поповерного механизма UIViewController - это подход, отметив, что он будет показывать поповер для iPad, а для iPhone использовать весь экран.

   let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let controller = storyboard.instantiateViewController(withIdentifier: "EventPopover")
    controller.modalPresentationStyle = .popover
    self.present(controller, animated: true, completion: nil)
Другие вопросы по тегам