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

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

Разработчик

Фото ссылка платформы ссылка класса PHImageManager

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

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

PHImageManager

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


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


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


Swift

import Photos

Objective C

@import Photos;

Доступность


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

Совместно используемое PHImageManager объект обеспечивает методы для загрузки данных изображения или видеоданных, связанных с a PHAsset объект. Используйте эти методы, чтобы выбрать полноразмерные фото активы или изображения миниатюр, или получить объекты Основы AV для игры, экспорта и управления видео активами.

Загрузить данные изображения или видеоданные:

  1. Используйте PHAsset класс для выборки актива Вы интересуетесь.

  2. Вызовите defaultManager метод для получения совместно используемого менеджера по изображению объект.

  3. Используйте один из методов, перечисленных в Запросе фото Изображений и Запросе Видео Объектов загрузить данные изображения актива или видеоданные.

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

Если необходимо загрузить данные изображения для многих активов вместе, используйте PHCachingImageManager класс, чтобы «предварительно подогреть» кэш путем загрузки изображений Вы ожидаете нуждаться скоро. Например, когда заполнение набора просматривает с фото миниатюрами актива, можно кэшировать изображения перед текущей позицией прокрутки.

  • Возвращает совместно используемого менеджера по изображению объект.

    Объявление

    Swift

    class func defaultManager() -> PHImageManager!

    Objective C

    + (PHImageManager *)defaultManager

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

    Менеджер по изображению.

    Обсуждение

    Этот метод всегда возвращает того же менеджера по изображению объект, совместно использующийся для всего использования в Вашем приложении.

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

    Objective C

    @import Photos;

    Swift

    import Photos

    Доступность

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

  • Запрашивает представление изображения на указанный актив.

    Объявление

    Swift

    func requestImageForAsset(_ asset: PHAsset!, targetSize targetSize: CGSize, contentMode contentMode: PHImageContentMode, options options: PHImageRequestOptions!, resultHandler resultHandler: ((UIImage!, [NSObject : AnyObject]!) -> Void)!) -> PHImageRequestID

    Objective C

    - (PHImageRequestID)requestImageForAsset:(PHAsset *)asset targetSize:(CGSize)targetSize contentMode:(PHImageContentMode)contentMode options:(PHImageRequestOptions *)options resultHandler:(void (^)(UIImage *result, NSDictionary *info))resultHandler

    Параметры

    asset

    Актив, данные изображения которого должны быть загружены.

    targetSize

    Целевой размер изображения, которое будет возвращено.

    contentMode

    Опция для того, как соответствовать изображению к форматному соотношению требуемого размера. Для получения дополнительной информации посмотрите PHImageContentMode.

    options

    Опции, указывающие, как фотографии должны обработать запрос, отформатируйте требуемое изображение и уведомьте Ваше приложение прогресса или ошибок. Для получения дополнительной информации посмотрите Ссылку класса PHImageRequestOptions.

    resultHandler

    Блок, который вызовут, когда загрузка изображения завершена, обеспечивая требуемое изображение или информацию о состоянии запроса.

    Блок берет следующие параметры:

    result

    Требуемое изображение.

    info

    Словарь, предоставляющий информацию о состоянии запроса. Посмотрите Информационные Ключи Результата Изображения для возможных ключей и значений.

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

    Числовой идентификатор для запроса. Если необходимо отменить запрос, прежде чем он завершится, передайте этот идентификатор cancelImageRequest: метод.

    Обсуждение

    Когда Вы вызываете этот метод, фотографии загружает или генерирует изображение актива в, или рядом, размер, который Вы указываете. Затем, это вызывает Ваш resultHandler блок для обеспечения требуемого изображения. Для обслуживания запроса более быстро фотографии могут обеспечить изображение, которое немного больше, чем целевой размер — или потому что такое изображение уже кэшируется или потому что это может быть сгенерировано более эффективно. В зависимости от опций Вы указываете и текущее состояние актива, фотографии могут загрузить данные актива с сети.

    По умолчанию этот метод выполняется асинхронно. При вызове его от фонового потока, можно измениться synchronous свойство options параметр к YEStrue для блокирования вызывающего потока или до, требуемое изображение готово или, ошибка, происходит, в которых фотографиях времени вызывает обработчик результата.

    Для асинхронного запроса фотографии могут вызвать Ваш блок обработчика результата несколько раз. Фотографии сначала вызывают блок для обеспечения низкокачественного изображения, подходящего для отображения временно, в то время как это подготавливает высококачественное изображение. (Если низкокачественные данные изображения сразу доступны, первый вызов может произойти перед возвратами метода.), Когда высококачественное изображение готово, фотографии вызывают Ваш обработчик результата снова для обеспечения его. Если менеджер по изображению уже кэшировал требуемое изображение в полном качестве, фотографии вызывает Ваш обработчик результата только один раз. PHImageResultIsDegradedKey введите обработчик результата info когда фотографии обеспечивают временное низкокачественное изображение, параметр указывает.

    Можно использовать этот метод и для фотографии и для видео активов — €” для видео актива, запрос изображения обеспечивает кадр плаката или изображение миниатюр.

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

    Objective C

    @import Photos;

    Swift

    import Photos

    Доступность

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

  • Запрашивает полноразмерные данные изображения на указанный актив.

    Объявление

    Swift

    func requestImageDataForAsset(_ asset: PHAsset!, options options: PHImageRequestOptions!, resultHandler resultHandler: ((NSData!, String!, UIImageOrientation, [NSObject : AnyObject]!) -> Void)!) -> PHImageRequestID

    Objective C

    - (PHImageRequestID)requestImageDataForAsset:(PHAsset *)asset options:(PHImageRequestOptions *)options resultHandler:(void (^)(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info))resultHandler

    Параметры

    asset

    Актив, для которого можно загрузить данные изображения.

    options

    Опции, указывающие, как фотографии должны обработать запрос, отформатируйте требуемое изображение и уведомьте Ваше приложение прогресса или ошибок. Для получения дополнительной информации посмотрите Ссылку класса PHImageRequestOptions.

    resultHandler

    Блок, который вызовут, когда загрузка изображения завершена, обеспечивая требуемое изображение или информацию о состоянии запроса.

    Блок берет следующие параметры:

    imageData

    Требуемое изображение.

    dataUTI

    Требуемое изображение.

    orientation

    Намеченная ориентация дисплея для изображения.

    info

    Словарь, предоставляющий информацию о состоянии запроса. Посмотрите Информационные Ключи Результата Изображения для возможных ключей и значений.

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

    Числовой идентификатор для запроса. Если необходимо отменить запрос, прежде чем он завершится, передайте этот идентификатор cancelImageRequest: метод.

    Обсуждение

    Когда Вы вызываете этот метод, фотографии загружает самое большое доступное представление актива изображения, затем вызывает Ваш resultHandler блок для предоставления требуемых данных. В зависимости от опций Вы указываете и текущее состояние актива, фотографии могут загрузить данные актива с сети.

    По умолчанию этот метод выполняется асинхронно. При вызове его от фонового потока, можно измениться synchronous свойство options параметр к YEStrue для блокирования вызывающего потока или до, требуемое изображение готово или, ошибка, происходит, в которых фотографиях времени вызывает обработчик результата. Этот метод игнорирует deliveryMode опция — фотографии вызывают Ваш блок обработчика результата точно один раз.

    Если version опция установлена в PHImageRequestOptionsVersionCurrent, Фотографии обеспечивают представленные данные изображения, включая результаты любых редактирований, сделанных к содержанию актива. Иначе, фотографии обеспечивает первоначально полученные данные изображения для актива.

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

    Objective C

    @import Photos;

    Swift

    import Photos

    Доступность

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

  • Запрашивает представление видео актива для воспроизведения, чтобы быть загруженным асинхронно.

    Объявление

    Swift

    func requestPlayerItemForVideo(_ asset: PHAsset!, options options: PHVideoRequestOptions!, resultHandler resultHandler: ((AVPlayerItem!, [NSObject : AnyObject]!) -> Void)!) -> PHImageRequestID

    Objective C

    - (PHImageRequestID)requestPlayerItemForVideo:(PHAsset *)asset options:(PHVideoRequestOptions *)options resultHandler:(void (^)(AVPlayerItem *playerItem, NSDictionary *info))resultHandler

    Параметры

    asset

    Видео актив, который будет воспроизведен.

    options

    Опции, указывающие, как фотографии должны обработать запрос и уведомить Ваше приложение прогресса или ошибок. Для получения дополнительной информации посмотрите Ссылку класса PHVideoRequestOptions.

    resultHandler

    Блок фото вызовы после загрузки данных актива и подготовки элемента проигрывателя.

    Блок берет следующие параметры:

    playerItem

    AVPlayerItem возразите, что можно использовать для того, чтобы воспроизвести видео актив.

    info

    Словарь, предоставляющий информацию о состоянии запроса. Посмотрите Информационные Ключи Результата Изображения для возможных ключей и значений.

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

    Числовой идентификатор для запроса. Если необходимо отменить запрос, прежде чем он завершится, передайте этот идентификатор cancelImageRequest: метод.

    Обсуждение

    Когда Вы вызываете этот метод, фотографии загружает видеоданные (если необходимый), и создает элемент проигрывателя. Это тогда вызывает Ваш resultHandler блок для обеспечения требуемого видео.

    Используйте этот метод, когда Вы хотите просто воспроизвести видео актив, поскольку это в настоящее время существует. Для более подробных опций или работать с аудиотреками актива и видеотреками, используйте requestAVAssetForVideo:options:resultHandler: метод вместо этого.

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

    Objective C

    @import Photos;

    Swift

    import Photos

    Доступность

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

  • Запрашивает сеанс экспорта на запись данных видео актива к файлу, чтобы быть загруженным асинхронно.

    Объявление

    Swift

    func requestExportSessionForVideo(_ asset: PHAsset!, options options: PHVideoRequestOptions!, exportPreset exportPreset: String!, resultHandler resultHandler: ((AVAssetExportSession!, [NSObject : AnyObject]!) -> Void)!) -> PHImageRequestID

    Objective C

    - (PHImageRequestID)requestExportSessionForVideo:(PHAsset *)asset options:(PHVideoRequestOptions *)options exportPreset:(NSString *)exportPreset resultHandler:(void (^)(AVAssetExportSession *exportSession, NSDictionary *info))resultHandler

    Параметры

    asset

    Видео актив, для которого должен быть создан сеанс экспорта.

    options

    Опции, указывающие, как фотографии должны обработать запрос и уведомить Ваше приложение прогресса или ошибок. Для получения дополнительной информации посмотрите Ссылку класса PHVideoRequestOptions.

    exportPreset

    Предварительная установка экспорта называет для экспорта актива. Для доступных предварительных установок посмотрите Ссылку класса AVAssetExportSession.

    resultHandler

    Блок, что фото вызовы после загрузки данных актива и подготовки сеанса экспорта.

    Блок берет следующие параметры:

    exportSession

    AVAssetExportSession возразите, что можно использовать для записи данных видео актива к файлу.

    info

    Словарь, предоставляющий информацию о состоянии запроса. Посмотрите Информационные Ключи Результата Изображения для возможных ключей и значений.

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

    Числовой идентификатор для запроса. Если необходимо отменить запрос, прежде чем он завершится, передайте этот идентификатор cancelImageRequest: метод.

    Обсуждение

    Когда Вы вызываете этот метод, фотографии загружает видеоданные (если необходимый), и создает сеанс экспорта. Это тогда вызывает Ваш resultHandler блок для обеспечения требуемого видео.

    Для дополнительных опций экспорта используйте requestAVAssetForVideo:options:resultHandler: метод и затем создает AVAssetReader и AVAssetWriter объекты транскодировать и вывести данные видео актива.

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

    Objective C

    @import Photos;

    Swift

    import Photos

    Доступность

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

  • Запросы объекты Основы AV, представляющие содержание и состояние видео актива, чтобы быть загруженным асинхронно.

    Объявление

    Swift

    func requestAVAssetForVideo(_ asset: PHAsset!, options options: PHVideoRequestOptions!, resultHandler resultHandler: ((AVAsset!, AVAudioMix!, [NSObject : AnyObject]!) -> Void)!) -> PHImageRequestID

    Objective C

    - (PHImageRequestID)requestAVAssetForVideo:(PHAsset *)asset options:(PHVideoRequestOptions *)options resultHandler:(void (^)(AVAsset *asset, AVAudioMix *audioMix, NSDictionary *info))resultHandler

    Параметры

    asset

    Видео актив, для которого состоят в том, чтобы быть загружены видео объекты.

    options

    Опции, указывающие, как фотографии должны обработать запрос и уведомить Ваше приложение прогресса или ошибок. Для получения дополнительной информации посмотрите Ссылку класса PHVideoRequestOptions.

    resultHandler

    Блок, что фото вызовы после загрузки данных актива.

    Блок берет следующие параметры:

    asset

    Объект, обеспечивающий доступ к видео активу как набор дорожек и метаданных. Для получения дополнительной информации при работе с AVAsset объекты, см. Руководство по программированию Основы AV.

    audioMix

    Используйте этот объект перестроить аудиотреки актива, отредактировать дополнительное аудио в соединение или сконфигурировать AVAssetReaderOutput объект для экспорта аудиоданных актива. Если nil, актив использует аудио соединение по умолчанию.

    info

    Словарь, предоставляющий информацию о состоянии запроса. Посмотрите Информационные Ключи Результата Изображения для возможных ключей и значений.

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

    Числовой идентификатор для запроса. Если необходимо отменить запрос, прежде чем он завершится, передайте этот идентификатор cancelImageRequest: метод.

    Обсуждение

    Когда Вы вызываете этот метод, фотографии загружает видеоданные (если необходимый), и создает объекты Основы AV. Это тогда вызывает Ваш resultHandler блок для обеспечения требуемого видео.

    Используйте этот метод, когда Вы хотите работать с расположением аудиотреков и видеотреков, которые содержит актив. Если Вы планируете использовать актив только для воспроизведения, вызовите requestPlayerItemForVideo:options:resultHandler: метод. Если Вы планируете экспортировать данные актива, вызовите requestExportSessionForVideo:options:exportPreset:resultHandler: метод.

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

    Objective C

    @import Photos;

    Swift

    import Photos

    Доступность

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

  • Отменяет асинхронный запрос

    Объявление

    Swift

    func cancelImageRequest(_ requestID: PHImageRequestID)

    Objective C

    - (void)cancelImageRequest:(PHImageRequestID)requestID

    Параметры

    requestID

    Числовой идентификатор запроса, который будет отменен.

    Обсуждение

    Когда Вы выполняете асинхронный запрос на данные изображения с помощью requestImageForAsset:targetSize:contentMode:options:resultHandler: метод, или для видео объекта с помощью одного из методов, перечисленных в Запросе Видео Объектов, менеджер по изображению возвращает числовой идентификатор для запроса. Для отмены запроса, прежде чем это завершится обеспечьте этот идентификатор при вызове cancelImageRequest: метод.

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

    Objective C

    @import Photos;

    Swift

    import Photos

    Доступность

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

Типы данных

  • Числовой идентификатор для асинхронного запроса изображения.

    Объявление

    Swift

    typealias PHImageRequestID = Int32

    Objective C

    typedef NSUInteger PHImageRequestID;

    Обсуждение

    Передайте этот идентификатор cancelImageRequest: метод, если необходимо отменить запрос, прежде чем он завершится.

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

    Objective C

    @import Photos;

    Swift

    import Photos

    Доступность

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

  • Специальные значения для targetSize параметр requestImageForAsset:targetSize:contentMode:options:resultHandler: метод.

    Объявление

    Swift

    let PHImageManagerMaximumSize: CGSize

    Objective C

    CGSize const PHImageManagerMaximumSize;

    Константы

    • PHImageManagerMaximumSize

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

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

    Обсуждение

    Когда Вы используете PHImageManagerMaximumSize опция, фотографии обеспечивают самое большое изображение, доступное для актива, не масштабируясь или обрезая. (Т.е. это игнорирует resizeMode опция.)

  • Специальные значения для PHImageRequestID идентификатор, которые возвращаются асинхронными запросами.

    Объявление

    Objective C

    #define PHInvalidImageRequestID ((PHImageRequestID)0)

    Константы

    • PHInvalidImageRequestID

      Асинхронный запрос изображения не может быть отменен.

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

  • Опции для адаптации форматному соотношению изображения к требуемому размеру, используемому requestImageForAsset:targetSize:contentMode:options:resultHandler: метод.

    Объявление

    Swift

    enum PHImageContentMode : Int { case AspectFit case AspectFill }

    Objective C

    typedef enum : NSInteger { PHImageContentModeDefault = 0, PHImageContentModeAspectFit = PHImageContentModeDefault, PHImageContentModeAspectFill = 1 } PHImageContentMode;

    Константы

    • PHImageContentModeDefault

      Соответствует изображению к требуемому размеру с помощью опции по умолчанию, PHImageContentModeAspectFit.

      Используйте этот режим содержания при запросе полноразмерного изображения с помощью PHImageManagerMaximumSize значение для целевого размера. В этом случае менеджер по изображению не масштабирует или обрезает изображение.

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

    • AspectFit

      PHImageContentModeAspectFit

      Масштабирует изображение так, чтобы его большая размерность соответствовала целевому размеру.

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

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

    • AspectFill

      PHImageContentModeAspectFill

      Масштабирует изображение так, чтобы оно полностью заполнило целевой размер.

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

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

    Обсуждение

    С любой опцией получающееся изображение может не точно соответствовать целевой размер, в зависимости от deliveryMode и resizeMode свойства запроса изображения. Для обслуживания запроса более быстро фотографии могут обеспечить немного увеличенное изображение — то, которое он может генерировать более легко или уже кэширующийся тот.

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

    Objective C

    @import Photos;

    Swift

    import Photos

    Доступность

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

  • Ключи, идентифицирующие информацию о результате загрузки изображения, используемом в resultHandler блок с requestImageForAsset:targetSize:contentMode:options:resultHandler: метод.

    Объявление

    Swift

    let PHImageResultIsInCloudKey: String let PHImageResultIsDegradedKey: String let PHImageResultRequestIDKey: String let PHImageCancelledKey: String let PHImageErrorKey: String

    Objective C

    NSString *const PHImageResultIsInCloudKey; NSString *const PHImageResultIsDegradedKey; NSString *const PHImageResultRequestIDKey; NSString *const PHImageCancelledKey; NSString *const PHImageErrorKey;

    Константы

    • PHImageResultIsInCloudKey

      Булево значение, указывающее, хранятся ли фото данные актива на локальном устройстве или должны быть загружены с iCloud. (NSNumber)

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

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

    • PHImageResultIsDegradedKey

      Булево значение, указывающее, является ли изображение результата низкокачественной заменой для требуемого изображения. (NSNumber)

      Если YEStrue, result параметр Вашего resultHandler блок содержит низкокачественное изображение, потому что фотографии еще не могли обеспечить изображение более высокого качества. В зависимости от Ваших настроек в PHImageRequestOptions возразите, что Вы обеспечили запросом, фотографии могут вызвать Ваш блок обработчика результата снова для обеспечения изображения более высокого качества.

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

    • PHImageResultRequestIDKey

      Уникальный идентификатор для запроса изображения. (NSNumber)

      Эти соответствия идентификатора, возвратившиеся при подаче с просьбой. Можно использовать его с cancelImageRequest: метод к запросам отмены с незаконченными результатами, которые больше не необходимы.

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

    • PHImageCancelledKey

      Булево значение, указывающее, был ли отменен запрос изображения. (NSNumber)

      Если Вы вызываете cancelImageRequest: метод для отмены запроса фотографии вызывают блок обработчика результата со значением YEStrue для этого ключа.

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

    • PHImageErrorKey

      Ошибка, произошедшая, когда фотографии попытались загрузить изображение. (NSError)

      Фотографии обеспечивают ошибочный объект для этого ключа, если он не может обеспечить изображение для Вашего блока обработчика result параметр. Исследуйте ошибочный объект на информацию о причине ошибки.

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