UIPrintInteractionController
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 4.2 и позже.
Совместно используемый экземпляр UIPrintInteractionController
класс представляет пользовательский интерфейс печати и управляет печатью документов, изображений и другого печатаемого содержания в iOS.
UIPrintInteractionController
центральный класс для печати в iOS. Совместно используемый экземпляр его представляет задание печати. Задание печати включает содержание, которое будет распечатано и информация, и опции связаны с ее печатью, такой как выходной тип, имя задания, формат бумаги и ориентация.
UIPrintInteractionController
имеет четыре взаимоисключающих свойства для предоставления его содержание, которое будет распечатано:
printingItem
берет единственный готовый к печати объект.printingItems
берет массив готовых к печати объектов.printFormatter
берет средство форматирования печати, объект, знающий, как разметить содержание определенного типа.printPageRenderer
берет средство рендеринга страницы, пользовательский объект, рисующий содержание для печати.
Если showsPageRange
свойство установлено в YES
true
, число страниц - больше чем 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() -> Bool
Objective C
+ (BOOL)isPrintingAvailable
Возвращаемое значение
YES
true
если устройство поддерживает печать, иначеNO
false
. Приложение может показать или скрыть любые кнопки печати на основе этого значения.Оператор импорта
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 для списка поддерживаемых форматов изображения.Возвращаемое значение
YES
true
если UIKit может распечатать содержание объекта данных, иначеNO
false
. Возвраты методаNO
false
если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 для списка поддерживаемых форматов изображения.Возвращаемое значение
YES
true
если UIKit может распечатать содержание файла, на который ссылаются, иначеNO
false
. Возвраты методаNO
false
если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
объект с зарегистрированным протоколом. Данные изображения (включая инкапсулировавшийUIImage
ALAsset
объекты), должна быть в формате, поддерживаемом Изображением платформа I/O; посмотрите Поддерживаемые форматы изображения в Ссылке класса UIImage для получения дополнительной информации.ALAsset
объект должен иметь типALAssetTypePhoto
. Объект выпущен в конце задания печати. Значение по умолчаниюnil
.Если Вы устанавливаете это свойство,
UIPrintInteractionController
наборыprintingItems
,printPageRenderer
, иprintFormatter
свойства кnil
. (Только одно из этих свойств может быть установлено для задания печати.)Если это свойство установлено и
showsPageRange
свойство установлено вYES
true
— и элемент печати является документом в формате 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
свойство установлено вYES
true
. Если Вы хотите выбор диапазона страницы, необходимо использовать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
свойство установлено вYES
true
— и представленное содержание больше, чем одна страница — параметры печати включают управление для выбора диапазона страницы.Оператор импорта
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
свойство установлено вYES
true
— и если средство форматирования представляет содержание больше чем одной страницы — параметры печати включают управление для выбора диапазона страницы.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 4.2 и позже.
-
Представляет пользовательский интерфейс печати iPhone в листе, который может быть анимирован для скольжения с нижней части экрана.
Объявление
Swift
func presentAnimated(_
animated
: Bool, completionHandlercompletion
: UIPrintInteractionCompletionHandler?) -> BoolObjective C
- (BOOL)presentAnimated:(BOOL)
animated
completionHandler:(UIPrintInteractionCompletionHandler)completion
Параметры
animated
YES
true
анимировать дисплей листа,NO
false
вывести на экран лист сразу.completion
Блок типа
UIPrintInteractionCompletionHandler
то, что Вы реализуете, чтобы обработать заключение задания печати (например, сбросить состояние) и обработать любые ошибки, с которыми встречаются в печати.Обсуждение
Это допустимо для вызова этого метода для приложений на устройствах iPod touch и iPhone. Вызов этого метода на iPad с
animated
набор кYES
true
заставляет представление параметров печати анимировать от рамки окна.При вызове этого метода, когда параметры печати уже выведены на экран,
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 *)
item
animated:(BOOL)animated
completionHandler:(UIPrintInteractionCompletionHandler)completion
Параметры
item
UIBarButtonItem
возразите, что пользователь коснулся для печати. Вы призваны использовать константуUIBarButtonSystemItemAction
при создании элемента кнопки панели с этой целью.animated
YES
true
анимировать представление легкой сдобы печати отitem
,NO
false
вывести на экран его сразу.completion
Блок типа
UIPrintInteractionCompletionHandler
то, что Вы реализуете, чтобы обработать заключение задания печати (например, сбросить состояние) и обработать любые ошибки, с которыми встречаются в печати.Обсуждение
Это допустимо для вызова этого метода для приложений на устройствах iPad. Вызов этого метода на iPhone или iPod touch с
animated
набор кYES
true
заставляет представление параметров печати анимировать вверх от нижней части экрана.При вызове этого метода, когда параметры печати уже выведены на экран,
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)
rect
inView:(UIView *)view
animated:(BOOL)animated
completionHandler:(UIPrintInteractionCompletionHandler)completion
Параметры
rect
Прямоугольник, определяющий область, от которой анимировано представление легкой сдобы печати.
view
Представление, обеспечивающее систему координат для
rect
.animated
YES
true
анимировать представление легкой сдобы печати отitem
,NO
false
вывести на экран его сразу.completion
Блок типа
UIPrintInteractionCompletionHandler
то, что Вы реализуете, чтобы обработать заключение задания печати (например, сбросить состояние) и обработать любые ошибки, с которыми встречаются в печати.Обсуждение
Это допустимо для вызова этого метода для приложений на устройствах iPad. Вызов этого метода на iPhone или iPod touch с
animated
набор кYES
true
заставляет представление параметров печати анимировать вверх от нижней части экрана.При вызове этого метода, когда параметры печати уже выведены на экран,
UIPrintInteractionController
скрывает представление легкой сдобы параметров печати. Необходимо вызвать метод снова для отображения опций.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 4.2 и позже.
-
Отклоняет лист параметров печати или легкую сдобу.
Объявление
Swift
func dismissAnimated(_
animated
: Bool)Objective C
- (void)dismissAnimated:(BOOL)
animated
Параметры
animated
YES
true
анимировать увольнение, иначеNO
false
.Обсуждение
Необходимо отклонить параметры печати, когда они представлены в листе или анимированы от прямоугольника, и пользователь изменяет ориентацию устройства. (Это, конечно, предполагает, что Ваше приложение реагирует на изменения ориентации.) Необходимо тогда представить параметры печати снова, как только новая ориентация вступает в силу. Можно наблюдать
UIApplicationWillChangeStatusBarOrientationNotification
уведомление для обнаружения, когда ориентация устройства собирается измениться.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 4.2 и позже.
-
Распечатайте непосредственно к указанному принтеру.
Объявление
Swift
func printToPrinter(_
printer
: UIPrinter, completionHandlercompletion
: UIPrintInteractionCompletionHandler?) -> BoolObjective C
- (BOOL)printToPrinter:(UIPrinter *)
printer
completionHandler:(UIPrintInteractionCompletionHandler)completion
Параметры
printer
Принтер для использования для печати. Можно получить список доступных принтеров с помощью a
UIPrinterPickerController
объект.completion
Блок для выполнения, когда заканчивается работа печати.
Возвращаемое значение
YES
true
если печать была успешна илиNO
false
если была проблема.Обсуждение
Этот метод запускает задание печати и выводит на экран индикатор хода выполнения печати пользователю. Этот метод связывает текущую информацию о печати (доступный в
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: Bool
Objective C
@property(nonatomic) BOOL showsNumberOfCopies
Обсуждение
Значение по умолчанию
YES
true
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
showsPageRange
СвойствоБулево значение, определяющее, включают ли параметры печати управление диапазона страницы.
Объявление
Swift
var showsPageRange: Bool
Objective C
@property(nonatomic) BOOL showsPageRange
Обсуждение
Значение по умолчанию
NO
false
. Если Вы присваиваете печатаемое содержаниеprintingItems
свойство, управление диапазона страницы не показано, даже еслиshowPageRange
YES
true
. В других случаях число страниц для печати должно быть больше, чем 1, формируют управление диапазона страницы для появления.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 4.2 и позже.
-
showsPaperSelectionForLoadedPapers
СвойствоБулево значение для включения бумажного меню выбора.
Объявление
Swift
var showsPaperSelectionForLoadedPapers: Bool
Objective C
@property(nonatomic) BOOL showsPaperSelectionForLoadedPapers
Обсуждение
Значение по умолчанию этого свойства
NO
false
. Установка значения кYES
true
включает бумажное меню выбора на принтерах, поддерживающих различные типы бумаги и имеющих больше чем один бумажный загруженный тип. На принтерах, где только один бумажный тип доступен, никакое бумажное меню выбора не выведено на экран, независимо от значения этого свойства.Оператор импорта
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!) -> Void
Objective 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: String
Objective 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 и позже.
-