UIPrintInteractionController
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 4.2 и позже.
Совместно используемый экземпляр UIPrintInteractionController класс представляет пользовательский интерфейс печати и управляет печатью документов, изображений и другого печатаемого содержания в iOS.
UIPrintInteractionController центральный класс для печати в iOS. Совместно используемый экземпляр его представляет задание печати. Задание печати включает содержание, которое будет распечатано и информация, и опции связаны с ее печатью, такой как выходной тип, имя задания, формат бумаги и ориентация.
UIPrintInteractionController имеет четыре взаимоисключающих свойства для предоставления его содержание, которое будет распечатано:
printingItemберет единственный готовый к печати объект.printingItemsберет массив готовых к печати объектов.printFormatterберет средство форматирования печати, объект, знающий, как разметить содержание определенного типа.printPageRendererберет средство рендеринга страницы, пользовательский объект, рисующий содержание для печати.
Если showsPageRange свойство установлено в YEStrue, число страниц - больше чем 1, и Вы присваиваете объект любому из этих свойств за исключением printingItems свойство, параметры печати включают управление, позволяющее пользователям выбирать диапазон страницы.
Когда пользователи касаются кнопки печати в пользовательском интерфейсе приложения, объект контроллера приложения должен реагировать на сообщение действия путем получения совместно используемого экземпляра UIPrintInteractionController и подготавливая его к заданию печати. Когда приложение вызывает один из present... методы (например, presentAnimated:completionHandler:), UIPrintInteractionController выводит на экран представление, содержащее параметры печати. Этот интерфейс прост, позволяя пользователям выбрать принтер, указать число копий и возможно диапазона страниц, и выбрать одностороннюю или двустороннюю печать (если принтер поддерживает двустороннюю печать). Когда пользователи делают свои выборы и Печать касания, задание печати начинается.
-
Возвращает совместно используемый объект контроллера взаимодействия печати.
Объявление
Swift
class func sharedPrintController() -> UIPrintInteractionController?Objective C
+ (UIPrintInteractionController *)sharedPrintControllerВозвращаемое значение
Одноэлементный экземпляр
UIPrintInteractionControllerкласс илиnilесли не мог бы быть создан объект.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
-
Возвращает булевскую переменную, указывающую, поддерживает ли устройство печать.
Объявление
Swift
class func isPrintingAvailable() -> BoolObjective C
+ (BOOL)isPrintingAvailableВозвращаемое значение
YEStrueесли устройство поддерживает печать, иначеNOfalse. Приложение может показать или скрыть любые кнопки печати на основе этого значения.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
-
Возвраты, может ли UIKit распечатать содержание объекта данных.
Объявление
Swift
class func canPrintData(_data: NSData) -> BoolObjective C
+ (BOOL)canPrintData:(NSData *)dataПараметры
dataЭкземпляр
NSDataкласс, содержащий данные PDF или изображение в формате, поддерживаемом Изображением платформа I/O. Посмотрите Поддерживаемые форматы изображения в поле зрения Руководство по программированию для iOS для списка поддерживаемых форматов изображения.Возвращаемое значение
YEStrueесли UIKit может распечатать содержание объекта данных, иначеNOfalse. Возвраты методаNOfalseеслиdataданные PDF, указывающие, что не позволяется печать.Обсуждение
Необходимо вызвать этот метод для тестирования объекта данных до присвоения его к
printingItemилиprintingItems.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
См. также
-
Возвраты, может ли UIKit распечатать файл, на который ссылается URL.
Объявление
Swift
class func canPrintURL(_url: NSURL) -> BoolObjective C
+ (BOOL)canPrintURL:(NSURL *)urlПараметры
urlОбъект, представляющий URL. Допустимый
NSURLобъекты должны использоватьfile:илиassets-library:схема или любая схема, которая может возвратитьсяNSDataобъект с зарегистрированным протоколом. Файл, на который ссылается URL, должен содержать данные PDF или изображение в формате, поддерживаемом Изображением платформа I/O. Посмотрите Поддерживаемые форматы изображения в поле зрения Руководство по программированию для iOS для списка поддерживаемых форматов изображения.Возвращаемое значение
YEStrueесли UIKit может распечатать содержание файла, на который ссылаются, иначеNOfalse. Возвраты методаNOfalseеслиurlссылочные данные PDF, указывающие, что не позволяется печать.Обсуждение
Необходимо вызвать этот метод для тестирования данных, на которые ссылается URL до присвоения того URL к
printingItemилиprintingItems.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
См. также
-
Ряд возвратов Универсальных Идентификаторов типов для типов данных, которые может распечатать UIKit.
Возвращаемое значение
Объект набора, содержащий, как строки, UTIs, идентифицирующий типы данных, которые знает UIKit, как распечатать исходно.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
См. также
-
printingItemСвойствоЕдинственный готовый к печати объект.
Объявление
Swift
@NSCopying var printingItem: AnyObject!Objective C
@property(nonatomic, copy) id printingItemОбсуждение
Объект должен быть экземпляром
NSURL,NSData,UIImage, илиALAssetкласс. Объект первых двух типов должен сослаться или содержать данные PDF или данные изображения.NSURLобъекты должны использоватьfile:илиassets-library:схема или любая схема, которая может возвратитьсяNSDataобъект с зарегистрированным протоколом. Данные изображения (включая инкапсулировавшийUIImageALAssetобъекты), должна быть в формате, поддерживаемом Изображением платформа I/O; посмотрите Поддерживаемые форматы изображения в Ссылке класса UIImage для получения дополнительной информации.ALAssetобъект должен иметь типALAssetTypePhoto. Объект выпущен в конце задания печати. Значение по умолчаниюnil.Если Вы устанавливаете это свойство,
UIPrintInteractionControllerнаборыprintingItems,printPageRenderer, иprintFormatterсвойства кnil. (Только одно из этих свойств может быть установлено для задания печати.)Если это свойство установлено и
showsPageRangeсвойство установлено вYEStrue— и элемент печати является документом в формате PDF больше чем одной страницы — параметры печати включают управление для выбора диапазона страницы.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
-
printingItemsСвойствоМассив готовых к печати объектов.
Объявление
Swift
var printingItems: [AnyObject]!Objective C
@property(nonatomic, copy) NSArray *printingItemsОбсуждение
Массив должен содержать
NSURL,NSData,UIImage, илиALAssetобъекты в любой комбинации. Объекты первых двух типов должны сослаться или содержать данные PDF или данные изображения.NSURLобъекты должны использоватьfile:илиassets-library:схема или любая схема, которая может возвратитьсяNSDataобъект с зарегистрированным протоколом. Данные изображения (включая инкапсулировавшийUIImageиALAssetобъекты), должна быть в формате, поддерживаемом Изображением платформа I/O; посмотрите Поддерживаемые форматы изображения в Ссылке класса UIImage для получения дополнительной информации.ALAssetобъект должен иметь типALAssetTypePhoto. Элементы распечатаны в порядке индекса массива. Массив выпущен в конце задания печати. Значение по умолчаниюnil.Если Вы устанавливаете это свойство,
UIPrintInteractionControllerнаборыprintingItem,printPageRenderer, иprintFormatterсвойства кnil. (Только одно из этих свойств может быть установлено для задания печати.)Если это свойство установлено, параметры печати не включают управление для выбора диапазона страницы, даже если
showsPageRangeсвойство установлено вYEStrue. Если Вы хотите выбор диапазона страницы, необходимо использоватьprintingItemсвойство вместо этого.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
-
printPageRendererСвойствоОбъект, рисующий страницы печатаемого содержания, когда требуется UIKit.
Объявление
Swift
var printPageRenderer: UIPrintPageRenderer!Objective C
@property(nonatomic, retain) UIPrintPageRenderer *printPageRendererОбсуждение
Объект, присвоенный этому свойству, должен быть экземпляром пользовательского подкласса
UIPrintPageRenderer.UIPrintInteractionControllerкласс сохраняет объект средства рендеринга страницы и выпускает его в конце задания печати. Значение по умолчаниюnil.Если Вы устанавливаете это свойство,
UIPrintInteractionControllerнаборыprintingItems,printingItem,printFormatterсвойства кnil. (Только одно из этих свойств может быть установлено для задания печати.)Если это свойство установлено и
showsPageRangeсвойство установлено вYEStrue— и представленное содержание больше, чем одна страница — параметры печати включают управление для выбора диапазона страницы.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
-
printFormatterСвойствоОбъект, размечающий содержание страниц на основе вида содержания.
Объявление
Swift
var printFormatter: UIPrintFormatter!Objective C
@property(nonatomic, retain) UIPrintFormatter *printFormatterОбсуждение
Присвойте этому свойству экземпляр одного из конкретных подклассов
UIPrintFormatter:UISimpleTextPrintFormatter,UIMarkupTextPrintFormatter, иUIViewPrintFormatter. Этот объект выпущен в конце задания печати.Если Вы устанавливаете это свойство,
UIPrintInteractionControllerнаборыprintingItems,printingItem, иprintPageRendererсвойства кnil. (Только одно из этих свойств может быть установлено для задания печати.)Если это свойство установлено и
showsPageRangeсвойство установлено вYEStrue— и если средство форматирования представляет содержание больше чем одной страницы — параметры печати включают управление для выбора диапазона страницы.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
-
Представляет пользовательский интерфейс печати iPhone в листе, который может быть анимирован для скольжения с нижней части экрана.
Объявление
Swift
func presentAnimated(_animated: Bool, completionHandlercompletion: UIPrintInteractionCompletionHandler?) -> BoolObjective C
- (BOOL)presentAnimated:(BOOL)animatedcompletionHandler:(UIPrintInteractionCompletionHandler)completionПараметры
animatedYEStrueанимировать дисплей листа,NOfalseвывести на экран лист сразу.completionБлок типа
UIPrintInteractionCompletionHandlerто, что Вы реализуете, чтобы обработать заключение задания печати (например, сбросить состояние) и обработать любые ошибки, с которыми встречаются в печати.Обсуждение
Это допустимо для вызова этого метода для приложений на устройствах iPod touch и iPhone. Вызов этого метода на iPad с
animatedнабор кYEStrueзаставляет представление параметров печати анимировать от рамки окна.При вызове этого метода, когда параметры печати уже выведены на экран,
UIPrintInteractionControllerскрывает лист параметров печати. Необходимо вызвать метод снова для отображения опций.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
-
presentFromBarButtonItem (_: animated:completionHandler:) - presentFromBarButtonItem:animated:completionHandler:Представляет пользовательский интерфейс печати iPad в представлении легкой сдобы, которое может быть анимировано от элемента кнопки панели.
Объявление
Swift
func presentFromBarButtonItem(_item: UIBarButtonItem, animatedanimated: Bool, completionHandlercompletion: UIPrintInteractionCompletionHandler?) -> BoolObjective C
- (BOOL)presentFromBarButtonItem:(UIBarButtonItem *)itemanimated:(BOOL)animatedcompletionHandler:(UIPrintInteractionCompletionHandler)completionПараметры
itemUIBarButtonItemвозразите, что пользователь коснулся для печати. Вы призваны использовать константуUIBarButtonSystemItemActionпри создании элемента кнопки панели с этой целью.animatedYEStrueанимировать представление легкой сдобы печати отitem,NOfalseвывести на экран его сразу.completionБлок типа
UIPrintInteractionCompletionHandlerто, что Вы реализуете, чтобы обработать заключение задания печати (например, сбросить состояние) и обработать любые ошибки, с которыми встречаются в печати.Обсуждение
Это допустимо для вызова этого метода для приложений на устройствах iPad. Вызов этого метода на iPhone или iPod touch с
animatedнабор кYEStrueзаставляет представление параметров печати анимировать вверх от нижней части экрана.При вызове этого метода, когда параметры печати уже выведены на экран,
UIPrintInteractionControllerскрывает представление легкой сдобы параметров печати. Необходимо вызвать метод снова для отображения опций.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
-
presentFromRect (_: inView:animated:completionHandler:) - presentFromRect:inView:animated:completionHandler:Представляет пользовательский интерфейс печати iPad в представлении легкой сдобы, которое может быть анимировано от любой области в представлении.
Объявление
Swift
func presentFromRect(_rect: CGRect, inViewview: UIView, animatedanimated: Bool, completionHandlercompletion: UIPrintInteractionCompletionHandler?) -> BoolObjective C
- (BOOL)presentFromRect:(CGRect)rectinView:(UIView *)viewanimated:(BOOL)animatedcompletionHandler:(UIPrintInteractionCompletionHandler)completionПараметры
rectПрямоугольник, определяющий область, от которой анимировано представление легкой сдобы печати.
viewПредставление, обеспечивающее систему координат для
rect.animatedYEStrueанимировать представление легкой сдобы печати отitem,NOfalseвывести на экран его сразу.completionБлок типа
UIPrintInteractionCompletionHandlerто, что Вы реализуете, чтобы обработать заключение задания печати (например, сбросить состояние) и обработать любые ошибки, с которыми встречаются в печати.Обсуждение
Это допустимо для вызова этого метода для приложений на устройствах iPad. Вызов этого метода на iPhone или iPod touch с
animatedнабор кYEStrueзаставляет представление параметров печати анимировать вверх от нижней части экрана.При вызове этого метода, когда параметры печати уже выведены на экран,
UIPrintInteractionControllerскрывает представление легкой сдобы параметров печати. Необходимо вызвать метод снова для отображения опций.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
-
Отклоняет лист параметров печати или легкую сдобу.
Объявление
Swift
func dismissAnimated(_animated: Bool)Objective C
- (void)dismissAnimated:(BOOL)animatedПараметры
animatedYEStrueанимировать увольнение, иначеNOfalse.Обсуждение
Необходимо отклонить параметры печати, когда они представлены в листе или анимированы от прямоугольника, и пользователь изменяет ориентацию устройства. (Это, конечно, предполагает, что Ваше приложение реагирует на изменения ориентации.) Необходимо тогда представить параметры печати снова, как только новая ориентация вступает в силу. Можно наблюдать
UIApplicationWillChangeStatusBarOrientationNotificationуведомление для обнаружения, когда ориентация устройства собирается измениться.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
-
Распечатайте непосредственно к указанному принтеру.
Объявление
Swift
func printToPrinter(_printer: UIPrinter, completionHandlercompletion: UIPrintInteractionCompletionHandler?) -> BoolObjective C
- (BOOL)printToPrinter:(UIPrinter *)printercompletionHandler:(UIPrintInteractionCompletionHandler)completionПараметры
printerПринтер для использования для печати. Можно получить список доступных принтеров с помощью a
UIPrinterPickerControllerобъект.completionБлок для выполнения, когда заканчивается работа печати.
Возвращаемое значение
YEStrueесли печать была успешна илиNOfalseесли была проблема.Обсуждение
Этот метод запускает задание печати и выводит на экран индикатор хода выполнения печати пользователю. Этот метод связывает текущую информацию о печати (доступный в
printInfoсвойство) с заданием, но отключает двустороннюю печать. После завершения задания печати контроллер взаимодействия печати выполняет блок вcompletionпараметр.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
printInfoСвойствоИнформация об инкапсуляции объекта о задании печати.
Объявление
Swift
var printInfo: UIPrintInfo!Objective C
@property(nonatomic, retain) UIPrintInfo *printInfoОбсуждение
Экземпляр
UIPrintInfoвключает свойства, такие как имя задания печати, идентификатор принтера, ориентация печатного содержания, дуплексного режима и вида содержания (общий, фотография или шкала полутонов). Если Вы не присваиваете экземплярUIPrintInfoк этому свойству UIKit печать системы принимает значения по умолчанию для многих из этих свойств. Пользователи могут изменить выбранный принтер и дуплексный режим (при наличии на принтере). Как только параметры печати представлены, любые изменения вUIPrintInfoобъект, на который ссылается это свойство, проигнорирован. Когда печать завершается, объект выпущен.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
См. также
-
printPaperСвойствоОбъект, представляющий формат бумаги и распечатывающий область для задания печати. (только для чтения)
Объявление
Swift
var printPaper: UIPrintPaper! { get }Objective C
@property(nonatomic, readonly) UIPrintPaper *printPaperОбсуждение
UIPrintInteractionControllerнаборы это свойство сразу после пользователя выбирает принтер и прежде чем оно вызовет делегатаprintInteractionControllerWillStartJob:метод. Если его делегат реализуетprintInteractionController:choosePaper:методUIPrintInteractionControllerDelegateпротокол, это может возвратитьсяUIPrintPaperобъект присвоиться к этому свойству. Иначе, UIKit присваивает объект с форматом бумаги по умолчанию и прямоугольником печати, основывающимся на выходном типе и возможностях целевого принтера. Когда задание печати заканчивается, этот объект выпущен.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
См. также
-
showsNumberOfCopiesСвойствоБулево значение, определяющее, включают ли параметры печати число копий.
Объявление
Swift
var showsNumberOfCopies: BoolObjective C
@property(nonatomic) BOOL showsNumberOfCopiesОбсуждение
Значение по умолчанию
YEStrue.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
-
showsPageRangeСвойствоБулево значение, определяющее, включают ли параметры печати управление диапазона страницы.
Объявление
Swift
var showsPageRange: BoolObjective C
@property(nonatomic) BOOL showsPageRangeОбсуждение
Значение по умолчанию
NOfalse. Если Вы присваиваете печатаемое содержаниеprintingItemsсвойство, управление диапазона страницы не показано, даже еслиshowPageRangeYEStrue. В других случаях число страниц для печати должно быть больше, чем 1, формируют управление диапазона страницы для появления.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
-
showsPaperSelectionForLoadedPapersСвойствоБулево значение для включения бумажного меню выбора.
Объявление
Swift
var showsPaperSelectionForLoadedPapers: BoolObjective C
@property(nonatomic) BOOL showsPaperSelectionForLoadedPapersОбсуждение
Значение по умолчанию этого свойства
NOfalse. Установка значения кYEStrueвключает бумажное меню выбора на принтерах, поддерживающих различные типы бумаги и имеющих больше чем один бумажный загруженный тип. На принтерах, где только один бумажный тип доступен, никакое бумажное меню выбора не выведено на экран, независимо от значения этого свойства.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
delegateСвойствоДелегат контроллера взаимодействия печати.
Объявление
Swift
unowned(unsafe) var delegate: UIPrintInteractionControllerDelegate?Objective C
@property(nonatomic, assign) id< UIPrintInteractionControllerDelegate > delegateОбсуждение
Делегат должен принять
UIPrintInteractionControllerDelegateпротокол и реализация один или больше ее методов. Это не сохраняется.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
Типы данных
-
Тип блочного обратного вызова для ответа на завершение задания печати или ошибок печати вручения.
Объявление
Swift
typealias UIPrintInteractionCompletionHandler = (UIPrintInteractionController!, Bool, NSError!) -> VoidObjective C
typedef void (^UIPrintInteractionCompletionHandler) (UIPrintInteractionController *printInteractionController,BOOL completed, NSError *error);Обсуждение
Вы реализуете этот блок как заключительный параметр
presentAnimated:completionHandler:,presentFromBarButtonItem:animated:completionHandler:, илиpresentFromRect:inView:animated:completionHandler:. Когда задание печати завершает, можно сбросить любое состояние, установленное для печати, и сделать связанные задачи по обслуживанию. Если бы задание печати встретилось с ошибкой, то это, вероятно, была бы программная ошибка, таким образом, Вы могли бы хотеть зарегистрировать ошибку для отладки целей.printInteractionControllerСовместно используемый экземпляр
UIPrintInteractionControllerэто управляет заданием печати.completedБулево значение, указывающее, завершилось ли задание печати успешно.
errorЭкземпляр
NSErrorэто содержит информацию об ошибке печати. Домен печатиUIPrintErrorDomain. Коды ошибки печати описаны в Кодах Ошибки печати UIKit. Если задание печати завершается успешно, этот параметрnil.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.2 и позже.
-
Ошибочный домен для ошибок принтера
Объявление
Swift
let UIPrintErrorDomain: StringObjective C
UIKIT_EXTERN NSString *const UIPrintErrorDomain;Константы
-
Коды ошибки для ошибок печати UIKit.
Объявление
Swift
var UIPrintingNotAvailableError: Int { get } var UIPrintNoContentError: Int { get } var UIPrintUnknownImageFormatError: Int { get } var UIPrintJobFailedError: Int { get }Objective C
enum { UIPrintingNotAvailableError = 1, UIPrintNoContentError, UIPrintUnknownImageFormatError, UIPrintJobFailedError, };Константы
-
UIPrintingNotAvailableErrorУстройство не поддерживает печать.
Доступный в iOS 4.2 и позже.
-
UIPrintNoContentErrorНикакое средство форматирования печати, средство рендеринга страницы, распечатывая элемент или распечатывая элементы не были присвоены для печати.
Доступный в iOS 4.2 и позже.
-
UIPrintUnknownImageFormatErrorИзображение находится в формате, не распознанном UIKit за печать.
Доступный в iOS 4.2 и позже.
-
UIPrintJobFailedErrorВнутренняя ошибка произошла с заданием печати.
Доступный в iOS 4.2 и позже.
-
