У меня есть UIActivityViewController, и я хочу, чтобы у него были все действия, которые делает сафари и многое другое. В настоящее время я могу получать почту, сообщения, твиттер, facebook и полурабочую копию. Я установил массив элементов активности с URL-адресом. Затем я добавил nsstring этого URL-адреса и добавил, что с URL-адресом, и все работает хорошо, как копирование работает лучше, копируя строку, и я вставляю ее в другие области. Но также имея строку, твиттер и facebook добавили URL-адреса в свой текст и включили ссылку. Как я могу сделать так, чтобы у них не было текста, просто ссылка? Другая проблема заключается в том, как я могу показать предварительный просмотр веб-страниц в ссылке на твиттер и деятельность в facebook? он просто показывает значок сафари. И третий вопрос: как я могу распечатать содержимое веб-страницы?UIActivityViewController использует элементы в определенных действиях
4
A
ответ
5
Чтобы обеспечить различные элементы для различных услуг, вы подкласс UIActivityItemProvider
. Это соответствует UIActivityItemSource
протоколу, поэтому реализовать метод:
- (id)activityViewController:(UIActivityViewController *)activityViewController
itemForActivityType:(NSString *)activityType {
// compare `activityType` and return what you want
}
0
Для twitter или facebook вы хотели бы настроить UIActivity с правильным типом сообщения Twitter/facebook (см. Константы внизу here) и полезной нагрузкой.
5
Я нашел этот http://www.albertopasca.it/whiletrue/2012/10/objective-c-custom-uiactivityviewcontroller-icons-text/, который показывает, как сделать разное содержание для каждой службы
+1
+1 для сообщения в блоге (мой) :) – elp
хорошо я их, но он установит текст и URL. поэтому его добавление url дважды в основном потому, что элементы активности - это url и string. но в Safari у них есть только URL-адрес, а функция копирования копирует строку, потому что я могу вставить ее в сообщения – Maximilian
@MaxHasADHD вы можете опубликовать некоторый код с содержимым вашей активности. И что именно вы ожидаете. Похоже, если вы разместите только URL-адрес NSString, вы сможете его скопировать. _ И _ twitter вставляет его как текст, а не URL-адрес. –
Ya, я хочу, чтобы это был элемент активности NSString, но если вы хотите, чтобы твиттер и facebook включили его в качестве URL-адреса, а не исходного текста. если я включаю в себя как то твиттер, так и facebook, установите его как текст и URL. если я использую только URL-адрес и скопирую его, то я не могу вставить его в приложение сообщений, сафари. Есть ли способ сказать Twitter для использования только URL-адреса, а не строки без создания пользовательского класса активности? и если мне пришлось сделать класс, я могу использовать полный значок, чтобы он выглядел одинаково? – Maximilian