Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы UIKit ссылка класса UIActivity

Опции
Развертывание Target:

На этой странице
Язык:

UIActivity

Наследование


Соответствует


Оператор импорта


Swift

import UIKit

Objective C

@import UIKit;

Доступность


Доступный в iOS 6.0 и позже.

UIActivity класс является абстрактным классом, который Вы разделяете на подклассы для реализации специализированных служб. Служба берет данные, передающиеся ей, делающие что-то к тем данным и возвращающие результаты. Например, служба средств социального общения могла бы взять любой текст, изображения, или другое содержание предоставлено для него, и отправьте их на учетную запись пользователя. Объекты действия используются в сочетании с a UIActivityViewController объект, который ответственен за представление служб пользователю.

Необходимо разделить на подклассы UIActivity только если Вы хотите предоставить услуги поддержки пользователю. Система уже предоставляет поддержку для многих стандартных служб и делает их доступными через UIActivityViewController объект. Например, стандартные поддержки контроллера представления действия, посылающие по электронной почте данные, отправляя элементы на одну из учетных записей в социальных сетях пользователя и несколько других опций. Вы не должны предоставлять услуги поддержки ни для одного из встроенных типов.

Разделение на подклассы примечаний

Этот класс должен быть разделен на подклассы, прежде чем он сможет использоваться. Задание объекта действия должно действовать на данные, предоставленные ему и обеспечить некоторую метаинформацию, которую iOS может вывести на экран пользователю. Для более сложных служб объект действия может также вывести на экран настроенный пользовательский интерфейс и использовать его для сбора дополнительной информации от пользователя.

Методы для переопределения

При разделении на подклассы необходимо всегда переопределять следующие методы и использовать их для предоставления информации о службе:

Если Ваш canPerformWithActivityItems: метод указывает, что Ваш подкласс в состоянии воздействовать на указанные данные, активное UIActivityViewController отображения объекта Ваша служба пользователю. Когда пользователь выбирает Вашу службу, контроллер представления действия вызывает prepareWithActivityItems: метод, сопровождаемый только одним из этих методов:

  • activityViewController— Возвращает контроллер представления для представления пользователю. Если Ваша служба требует дополнительного ввода от пользователя, переопределите этот метод и используйте его для возврата объекта контроллера представления, ответственного за представление пользовательского UI. (Вы не должны представлять контроллер представления сами.) После того, как Ваш объект контроллера представления собирает необходимый ввод, это ответственно за инициирование задачи, связанной со службой.

  • performActivity— Выполняет службу, не выводя на экран дополнительного UI. Если Вашей службе не нужен дополнительный ввод от пользователя, переопределите этот метод и выполните задачу, связанную со службой.

  • Возвращает категорию действия, которое может привыкнуть к действиям группы в UI.

    Объявление

    Swift

    class func activityCategory() -> UIActivityCategory

    Objective C

    + (UIActivityCategory)activityCategory

    Возвращаемое значение

    Присвоенная категория действия. Возвраты реализации по умолчанию UIActivityCategoryAction.

    Обсуждение

    Переопределите этот метод для определения различной категории действия для пользовательского действия.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Идентификатор для типа предоставленной услуги.

    Объявление

    Swift

    func activityType() -> String?

    Objective C

    - (NSString *)activityType

    Возвращаемое значение

    Строка, идентифицирующая предоставленную услугу Вашему приложению.

    Обсуждение

    Этот метод возвраты nil по умолчанию. Подклассы должны переопределить этот метод и возвратить допустимую строку, идентифицирующую прикладную службу. Эта строка не представлена пользователю.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 6.0 и позже.

  • Читаемая пользователем строка, описывающая службу.

    Объявление

    Swift

    func activityTitle() -> String?

    Objective C

    - (NSString *)activityTitle

    Возвращаемое значение

    Строка, описывающая службу.

    Обсуждение

    Этот метод возвраты nil по умолчанию. Подклассы должны переопределить этот метод и возвратить читаемую пользователем строку, описывающую службу. Строка, которую Вы возвращаете, должна быть локализована.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 6.0 и позже.

  • Изображение, идентифицирующее службу для пользователя.

    Объявление

    Swift

    func activityImage() -> UIImage?

    Objective C

    - (UIImage *)activityImage

    Возвращаемое значение

    Изображение, которое может быть представлено пользователю.

    Обсуждение

    Этот метод возвраты nil по умолчанию. Подклассы должны переопределить этот метод и возвратить допустимый объект изображения. Изображение используется для генерации кнопки для службы в UI, выведенном на экран UIActivityViewController объект.

    Альфа-канал изображения используется в качестве маски для генерации заключительного изображения, представленного пользователю. Любые цветные данные в самом изображении проигнорированы. Непрозрачным пикселям применились к градиенту их, и этот градиент тогда положен поверх стандартного фона. Таким образом абсолютно непрозрачное изображение привело бы к заполненному прямоугольнику градиента.

    Для iPhone и iPod touch, изображения на iOS 7 должны быть 60 60 точками; на более ранних версиях iOS необходимо использовать, отображает не больше, чем 43 43 точками. Для iPad изображения на iOS 7 должны быть 76 76 точками; на более ранних версиях iOS необходимо использовать, отображает не больше, чем 60 60 точками. На устройстве с дисплеем Сетчатки число пикселей удвоено в каждом направлении.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 6.0 и позже.

  • Возвращает булевскую переменную, указывающую, может ли служба действовать на указанные элементы данных.

    Объявление

    Swift

    func canPerformWithActivityItems(_ activityItems: [AnyObject]) -> Bool

    Objective C

    - (BOOL)canPerformWithActivityItems:(NSArray *)activityItems

    Параметры

    activityItems

    Массив объектов переменных типов. Это объекты данных, на которые действовала бы служба.

    Возвращаемое значение

    YEStrue если Ваша служба может действовать на указанные элементы данных или NOfalse если это не может.

    Обсуждение

    Реализация по умолчанию этого метода возвраты NOfalse. Подклассы должны переопределить его и возврат YEStrue если данные в activityItems на параметре может управлять Ваша служба. Ваша реализация должна проверить типы объектов в массиве и использовать ту информацию, чтобы определить, может ли Ваша служба действовать на соответствующие данные.

    UIActivityViewController вызовы объектов этот метод при определении, который службы показать пользователю.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 6.0 и позже.

  • Подготавливает Вашу службу для действия на указанные данные.

    Объявление

    Swift

    func prepareWithActivityItems(_ activityItems: [AnyObject])

    Objective C

    - (void)prepareWithActivityItems:(NSArray *)activityItems

    Параметры

    activityItems

    Массив объектов переменных типов. Это объекты данных, на которые можно действовать.

    Обсуждение

    Реализация по умолчанию этого метода ничего не делает. Этот метод вызывают после того, как пользователь выбрал Вашу службу, но прежде чем Вашу службу просят выполнить ее действие. Подклассы должны переопределить этот метод и использовать его для хранения ссылки на элементы данных в activityItems параметр. Кроме того, если реализация Вашей службы требует выводящего на экран дополнительного UI пользователю, можно использовать этот метод для подготовки контроллер представления возражают и делают его доступным от activityViewController метод.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 6.0 и позже.

  • Возвращает контроллер представления для представления пользователю.

    Объявление

    Swift

    func activityViewController() -> UIViewController?

    Objective C

    - (UIViewController *)activityViewController

    Возвращаемое значение

    Контроллер представления для представления пользователю. Возвраты реализации по умолчанию nil.

    Обсуждение

    Подклассы, обеспечивающие дополнительный UI с помощью контроллера представления, могут переопределить этот метод для возврата того контроллера представления. Если этот метод возвращает доступный объект, система представляет возвращенный контроллер представления модально вместо того, чтобы вызвать performActivity метод.

    Ваш пользовательский контроллер представления должен предоставить представлению Ваш пользовательский UI и должен обработать любое взаимодействие с пользователем в тех представлениях. После завершения действия не отклоняйте контроллер представления сами. Вместо этого вызовите activityDidFinish: метод и позволил системе отклонить его за Вас.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 6.0 и позже.

  • Когда никакой пользовательский контроллер представления не предоставлен, выполняет службу.

    Объявление

    Swift

    func performActivity()

    Objective C

    - (void)performActivity

    Обсуждение

    Реализация по умолчанию этого метода ничего не делает. Если Ваша служба не обеспечивает пользовательского UI с помощью activityViewController метод, переопределите этот метод и используйте его для выполнения действия. Ваше действие должно воздействовать на элементы данных, полученные в prepareWithActivityItems: метод.

    Этот метод вызывают на основном потоке Вашего приложения. Если Ваше приложение может завершить действие быстро на основном потоке, сделайте так и вызовите activityDidFinish: метод, когда это сделано. Если выполнение действия могло бы занять время, использовать этот метод, чтобы запустить работу в фоновом режиме и затем выйти без вызова activityDidFinish: от этого метода. Когда Ваша фоновая работа завершится, вызвать activityDidFinish:. Необходимо вызвать activityDidFinish: на основном потоке.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 6.0 и позже.

  • Уведомляет систему, что Ваш объект действия завершил свою работу.

    Объявление

    Swift

    func activityDidFinish(_ completed: Bool)

    Objective C

    - (void)activityDidFinish:(BOOL)completed

    Параметры

    completed

    Указать YEStrue если служба выполнилась к завершению или NOfalse если служба была отменена или не заканчивалась из-за ошибки.

    Обсуждение

    Этот метод отклоняет интерфейс совместного использования, предоставленный UIActivityViewController объект. Если Вы обеспечили контроллер представления с помощью activityViewController метод, этот метод отклоняет тот контроллер представления также.

    Необходимо вызвать этот метод после завершения работы, связанной со службой этого объекта. Это - истина независимо от того, использовали ли Вы activityViewController или performActivity метод для инициирования службы. При вызове метода используйте булево значение, чтобы указать, завершилась ли служба успешно.

    Этот метод нужно вызвать на основном потоке.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 6.0 и позже.

  • Действие вводит, которого система имеет встроенную поддержку.

    Объявление

    Swift

    let UIActivityTypePostToFacebook: String let UIActivityTypePostToTwitter: String let UIActivityTypePostToWeibo: String let UIActivityTypeMessage: String let UIActivityTypeMail: String let UIActivityTypePrint: String let UIActivityTypeCopyToPasteboard: String let UIActivityTypeAssignToContact: String let UIActivityTypeSaveToCameraRoll: String let UIActivityTypeAddToReadingList: String let UIActivityTypePostToFlickr: String let UIActivityTypePostToVimeo: String let UIActivityTypePostToTencentWeibo: String let UIActivityTypeAirDrop: String

    Objective C

    NSString *const UIActivityTypePostToFacebook; NSString *const UIActivityTypePostToTwitter; NSString *const UIActivityTypePostToWeibo; NSString *const UIActivityTypeMessage; NSString *const UIActivityTypeMail; NSString *const UIActivityTypePrint; NSString *const UIActivityTypeCopyToPasteboard; NSString *const UIActivityTypeAssignToContact; NSString *const UIActivityTypeSaveToCameraRoll; NSString *const UIActivityTypeAddToReadingList; NSString *const UIActivityTypePostToFlickr; NSString *const UIActivityTypePostToVimeo; NSString *const UIActivityTypePostToTencentWeibo; NSString *const UIActivityTypeAirDrop;

    Константы

    • UIActivityTypePostToFacebook

      Объект отправляет предоставленное содержание на стену пользователя на Facebook.

      При использовании этой службы можно обеспечить NSString, NSAttributedString, UIImage, ALAsset, и NSURL объекты как данные для элементов действия. Можно также указать NSURL объекты, содержание которых использует assets-library схема.

      Доступный в iOS 6.0 и позже.

    • UIActivityTypePostToTwitter

      Объект отправляет предоставленное содержание на канал Twitter пользователя.

      При использовании этой службы можно обеспечить NSString, NSAttributedString, UIImage, ALAsset, и NSURL объекты как данные для элементов действия. Можно также указать NSURL объекты, содержание которых использует assets-library схема.

      Доступный в iOS 6.0 и позже.

    • UIActivityTypePostToWeibo

      Объект отправляет предоставленное содержание на канал Weibo пользователя.

      При использовании этой службы можно обеспечить NSString, NSAttributedString, UIImage, ALAsset, и NSURL объекты как данные для элементов действия. Можно также указать NSURL объекты, содержание которых использует assets-library схема.

      Доступный в iOS 6.0 и позже.

    • UIActivityTypeMessage

      Объект отправляет предоставленное содержание на приложение сообщений.

      При использовании этой службы можно обеспечить NSString и NSAttributedString объекты как данные для элементов действия. Можно также указать NSURL объекты, содержание которых использует sms схема.

      Если MMS или FaceTime включены, можно обеспечить UIImage, ALAsset, и NSURL объекты как данные для элементов действия. Можно также указать NSURL объекты, содержание которых использует assets-library схема.

      Указать NSData объект, необходимо реализовать UIActivityItemSource протокол, возвратите объект данных в activityViewController:itemForActivityType:, и возвратите UTI объекта данных в activityViewController:dataTypeIdentifierForActivityType:.

      Доступный в iOS 6.0 и позже.

    • UIActivityTypeMail

      Объект отправляет предоставленное содержание на новое электронное письмо.

      При использовании этой службы можно обеспечить NSString и UIImage объекты и NSURL объекты, указывающие на локальные файлы как данные для элементов действия.

      Указать NSData объект, необходимо реализовать UIActivityItemSource протокол, возвратите объект данных в activityViewController:itemForActivityType:, и возвратите UTI объекта данных в activityViewController:dataTypeIdentifierForActivityType:. Кроме того, Вы, возможно, должны зарегистрировать надлежащее отображение так, чтобы мог быть определен тип MIME.

      Доступный в iOS 6.0 и позже.

    • UIActivityTypePrint

      Объект распечатывает предоставленное содержание.

      При использовании этой службы можно обеспечить UIImage и NSData объекты и NSURL объекты, указывающие на локальные файлы как данные для элементов действия. Можно также обеспечить UIPrintPageRenderer, UIPrintFormatter, и UIPrintInfo объекты.

      Доступный в iOS 6.0 и позже.

    • UIActivityTypeCopyToPasteboard

      Объект отправляет предоставленное содержание на область монтажа.

      При использовании этой службы можно обеспечить NSString, UIImage, NSURL, UIColor, и NSDictionary объекты как данные для элементов действия.

      Доступный в iOS 6.0 и позже.

    • UIActivityTypeAssignToContact

      Объект присваивает изображение контакту.

      При использовании этой службы можно обеспечить a UIImage возразите как данные для элементов действия.

      Доступный в iOS 6.0 и позже.

    • UIActivityTypeSaveToCameraRoll

      Объект присваивает изображение или видео к рулону камеры пользователя.

      При использовании этой службы можно обеспечить a UIImage возразите как данные для основанных на изображении элементов действия. Для изображения и видео элементов, можно обеспечить NSURL объект с путем к видео.

      Доступный в iOS 6.0 и позже.

    • UIActivityTypeAddToReadingList

      Объект добавляет URL к списку чтения Safari.

      При использовании этой службы можно обеспечить NSURL возразите, чье содержание использует http или https схема, указывающая на страницу для добавления.

      Доступный в iOS 7.0 и позже.

    • UIActivityTypePostToFlickr

      Объект отправляет предоставленное изображение на учетную запись Flickr пользователя.

      При использовании этой службы можно обеспечить UIImage, ALAsset, NSURL объекты, содержание которых использует file схема и точка к изображению, и NSData объекты, содержание которых является данными изображения как данными для элементов действия. Можно также указать NSURL объекты, содержание которых использует assets-library схема.

      Доступный в iOS 7.0 и позже.

    • UIActivityTypePostToVimeo

      Объект отправляет предоставленное видео на учетную запись Vimeo пользователя.

      При использовании этой службы можно обеспечить ALAsset, NSURL объекты, содержание которых использует file схема и точка к видео, и NSData объекты, содержание которых является видеоданными как данными для элементов действия. Можно также указать NSURL объекты, содержание которых использует assets-library схема.

      Доступный в iOS 7.0 и позже.

    • UIActivityTypePostToTencentWeibo

      Объект отправляет предоставленное содержание на канал Tencent Weibo пользователя.

      При использовании этой службы можно обеспечить NSString, NSAttributedString, UIImage, ALAsset, и NSURL объекты как данные для элементов действия. Можно также указать NSURL объекты, содержание которых использует assets-library схема.

      Доступный в iOS 7.0 и позже.

    • UIActivityTypeAirDrop

      Объект делает предоставленное содержание доступным через AirDrop.

      При использовании этой службы можно обеспечить NSString, NSAttributedString, UIImage, ALAsset, и NSURL объекты как данные для элементов действия. Можно также указать NSURL объекты, содержание которых использует assets-library схема. Можно также обеспечить NSArray или NSDictionary объекты, содержащие перечисленные типы данных.

      Доступный в iOS 7.0 и позже.

    Обсуждение

    Эти константы представляют значения, которые могут быть сохранены в activityType свойство определенных с помощью системы объектов действия.

  • Действия имеют определенную категорию и действие, которое UI может показать действиям, сгруппированным по категориям.

    Объявление

    Swift

    enum UIActivityCategory : Int { case Action case Share }

    Objective C

    typedef enum : NSInteger { UIActivityCategoryAction, UIActivityCategoryShare, } UIActivityCategory;

    Константы

    • Action

      UIActivityCategoryAction

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

      Доступный в iOS 7.0 и позже.

    • Share

      UIActivityCategoryShare

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

      Доступный в iOS 7.0 и позже.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.