Как запустить SLComposeServiceViewController из другого UIViewController - PullRequest
0 голосов
/ 28 мая 2019

У меня есть приложение для iOS с расширением общего доступа.

Основной класс Расширения общего доступа наследует SLComposeServiceViewController, и в раскадровке я проверил "Является ли контроллер начального вида" .Однако мне нужен еще один пользовательский view для рендеринга с большим количеством опций, прежде чем в конечном итоге запустить расширение общего доступа.

Я добавил еще ViewController в раскадровку и добавил кнопку внутри контейнера.Эта кнопка «Поделиться» должна запустить исходное расширение для общего ресурса, Share View Controller Scene

Storyboard

Я добавил класс UIViewController, ActionsMenuController и установилчто как пользовательский класс для Àction Menu Controller.

class ActionMenuController: UIViewController {
    @IBAction func launchShareExtension(_ sender: Any) {
    }

    override func viewDidLoad() {
        super.viewDidLoad()
    }
}

Каким-то образом мне нужно настроить функцию действия кнопки, launchShareExtension, переключить сцены на Share View Controller.

Кажетсякак я должен использовать segues, чтобы выполнить это, но я не нашел способа определить идентификатор segue для моего Share View Controller

. Есть ли другие способы запуска ViewController или SLComposeServiceViewController, илиЕсть ли способ достичь этого с помощью segues?

1 Ответ

0 голосов
/ 29 мая 2019

Я обнаружил, что добавить переход между нормальными UIViewController и SLComposeServiceViewController можно непосредственно в редакторе раскадровки, но нажмите кнопку + ctrl на кнопке и перетащите появившуюся синюю линию на сцену контроллера общего доступа.Появится небольшое меню параметров Segue, выберите show, который запустит и поделится расширением и заменит меню действий.

enter image description here

Я нашел вдохновение в этомраскадровка учебник примерно на полпути.Он охватывает большинство основ редактирования раскадровки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...