Я не могу отобразить средство выбора принтера в NativeScript после вызова UIPrinterPickerController
.
Вот мой код:
var printPicker = UIPrinterPickerController.printerPickerControllerWithInitiallySelectedPrinter(null);
console.log("printPicker: " + printPicker);
var found = printPicker.presentAnimatedCompletionHandler(false, function(printerPicker, userDidSelect, error) {
if (error != null) {
console.log("error: " + error);
}
console.log("printerPicker: " + printerPicker);
console.log("userDidSelect: " + userDidSelect);
});
console.log("found: " + found);
И вот результат:
CONSOLE LOG file:///app/pages/main/main-page.js:16:16: printPicker: <UIPrinterPickerController: 0x146e948b0>
2016-04-22 15:19:17.101 checkInApp[349:41167] WARNING: Calling -[UIPrinterPickerController presentAnimated:completionHandler:] on iPad
CONSOLE LOG file:///app/pages/main/main-page.js:24:16: found: true
CONSOLE LOG file:///app/pages/main/main-page.js:16:16: printPicker: <UIPrinterPickerController: 0x146e948b0>
2016-04-22 15:19:19.627 checkInApp[349:41167] WARNING: Calling -[UIPrinterPickerController presentAnimated:completionHandler:] on iPad
CONSOLE LOG file:///app/pages/main/main-page.js:24:16: found: false
CONSOLE LOG file:///app/pages/main/main-page.js:21:20: printerPicker: <UIPrinterPickerController: 0x146e948b0>
CONSOLE LOG file:///app/pages/main/main-page.js:22:20: userDidSelect: false
Получив ответ здесь о том, как вызвать это в NativeScript, я могу убедиться, что мой обратный вызов действительно выполняется. Однако, если я нажму кнопку, которая запускает приведенный выше код один раз, обратный вызов не сработает (я предполагаю, что это точка, которую должен отобразить Picker.); затем, если я коснусь его еще раз, обратный вызов сработает, и userDidSelect
будет ложным.
Я читал, что вы можете управлять отображением средства выбора с помощью подкласса printerPickerControllerParentViewController
, но я подумал, что по умолчанию он будет просто отображать средство выбора из основного представления.
Как я могу отобразить средство выбора из NativeScript?
ОБНОВЛЕНИЕ
Кажется, он отлично работает в симуляторе iOS с запущенным PrinterSimulator.
ОБНОВЛЕНИЕ 2
Собственно, он работает на симуляторе iPhone 6. Он не работает на симуляторе iPad или на реальном устройстве iPad. Я думаю, что где-то читал, что сборщик нужно открывать как PopOver, но я не уверен, как это реализовать. Любая помощь будет оценена.