UIPrinterPickerController
を呼び出した後、NativeScriptでプリンタピッカーを表示できません。ここでiOS上のNativeScriptでプリンタピッカーを表示する方法
は私のコードです:
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でこれを呼び出す方法についての答えhereを受け取った後、私は私のコールバックが実際に実行されることを確認することができます。しかし、上記のコードを一度実行するボタンをタップすると、コールバックは起動しません(これは、Pickerが表示するポイントであると仮定しています)。私は再びそれをタップした場合、コールバックはuserDidSelect
が偽であると発火します。
サブクラスでprinterPickerControllerParentViewController
のピッカーの表示を制御できると読んだことがありますが、メインビューからピッカーを表示するだけでデフォルトになると考えました。
NativeScript内からピッカーを表示するにはどうすればよいですか?
UPDATE
PrinterSimulatorランニングでiOSシミュレータ上で正常に動作するようです。
UPDATE 2
実際には、iPhone 6シミュレータに取り組んでいます。 iPadシミュレータや実際のiPadデバイスでは動作しません。私はPickOverがPopOverとして開かれる必要があると私はどこかに読んだと思うが、私はその実装方法を知らない。どんな助けもありがとう。