Я начал свой поиск с того, что хотел узнать, как я могу поделиться с другими приложениями в iOS. Я обнаружил, что два важных способа
UIActivityViewController
UIDocumentInteractionController
Эти и другие методы сравниваются в этом SO-ответе .
Часто, когда я изучаю новую концепцию, мне нравится видеть простой пример, чтобы начать работу. Как только я получу что-то базовое, я могу изменить его, как мне нравится, позже.
Есть много вопросов, связанных с SO UIActivityViewController
, но я не мог найти ни одного, который просто просил бы простой пример. Поскольку я только что научился это делать, я дам свой ответ ниже. Не стесняйтесь добавлять лучшую версию (или версию Objective-C).
источник
Поделиться: Текст
Поделиться: Изображение
Поделиться: Текст - Изображение - URL
источник
В качестве примечания вы также можете использовать это для iPad:
Итак, всплывающее окно появляется у отправителя (в данном случае кнопка).
источник
Я обнаружил, что это работает безупречно, если вы хотите показать весь экран.
источник
Вы можете использовать следующие функции, которые я написал в одном из моих вспомогательных классов в проекте.
просто позвони
и он будет работать как на iPhone, так и на iPad. Если вы передадите значение CGRect любого представления с помощью sourceRect, оно также отобразит маленькую стрелку на iPad.
источник
if
утверждений можно писать[url, image, msg].compactMap({ $0 })
.Я использовал приведенную выше реализацию и только сейчас узнал, что она не работает на iPad под управлением iOS 13. Мне пришлось добавить эти строки перед вызовом present (), чтобы заставить его работать.
Вот как это работает для меня
источник