Ich habe daran gearbeitet, den UIPrinterPicker auf einem iPad mit NativeScript anzuzeigen. Ich habe große Hilfe von anderen erhalten.PopOver in NativeScript anzeigen
Das Problem, das ich jetzt habe, ist, dass der UIPrinterPicker PopOver nicht korrekt auf dem iPad angezeigt wird. Wie Sie auf dem Bild sehen können, ist der weiße Balken unter der Zeit der PopOver. Ich habe kein CSS angewendet und habe keine Dokumentation zum Stylen eines PopOver in NativeScript gefunden.
Hinweis: Ich kann den UIPrinterPicker auf dem iPhone anzeigen lassen, da er nicht in einem PopOver geöffnet werden muss.
Unten ist der entsprechende Code für die Seite:
var frames = require("ui/frame");
var view;
function pageLoaded(args) {
var page = args.object;
view = page.ios;
}
exports.pageLoaded = pageLoaded;
function selectPrinter() {
var runningOniPad = (UIDevice.currentDevice().userInterfaceIdiom == UIUserInterfaceIdiomPad);
var printPicker = UIPrinterPickerController.printerPickerControllerWithInitiallySelectedPrinter(null);
var completionHandler = function(printerPicker, userDidSelect, error) {
if (error != null) {
console.log("error: " + error);
}
global.selectedPrinter = printerPicker.selectedPrinter;
console.log("selectedPrinter: " + global.selectedPrinter);
};
if (! runningOniPad) {
printPicker.presentAnimatedCompletionHandler(false, completionHandler);
} else {
printPicker.presentFromRectInViewAnimatedCompletionHandler(view.view.frame, view.view, false, completionHandler);
}
}
exports.selectPrinter = selectPrinter;
und unten ist die UI-XML:
<Page xmlns="http://schemas.nativescript.org/tns.xsd" loaded="pageLoaded">
<GridLayout columns="*" rows="*" horizontalAlignment="center" verticalAlignment="center" >
<StackLayout id="myStackLayout">
<Button text="Select Printer" tap="selectPrinter" />
</StackLayout>
</GridLayout>
</Page>
Gibt es eine Möglichkeit, die popover korrekt angezeigt werden?
Danke Nick! Ich schätze die Hilfe und stimme zu, dass die Variablenbenennung einige Aufräumarbeiten verwenden könnte. – swatkins
Yep - Ich habe mich während des Tests in diese Falle fallen lassen und habe mich mit dieser Ansicht und der View.view Namensgebung gewundert :) –