Ich versuche, eine native Skript-App zu schreiben, die die gerenderte Höhe der bottle
Ansicht/Element in meinem XML aufruft. Ich habe den folgenden Code ausprobiert, aber leider bekomme ich einen Fehler (siehe unten). Jede Anleitung würde sehr geschätzt werden.Zugriff auf Elementhöhe in NativeScript
JS:
var viewModule = require("ui/core/view");
var page;
exports.fabTap = function (args) {
page = args.object;
var bottle = page.getViewById("bottle");
console.log("Height: " + bottle.height);
}
XML:
<Page xmlns="http://schemas.nativescript.org/tns.xsd" xmlns:FAB="nativescript-floatingactionbutton" actionBarHidden="true" loaded="pageLoaded">
<GridLayout columns="*, *, *, *" rows="15*, 5*, 20*, 5*, 5*, 5*, 5*, 20*, 20*" width="100%" height="100%" style.backgroundColor="white" >
<Image src="res://logo" row="0" col="1" colSpan="2" stretch ="aspectFit" class="logo"/>
<Image id="bottle" src="res://bottle_outline" row="2" col="0" rowSpan="6" colSpan="2" stretch="aspectFit"/>
</GridLayout>
</Page>
Kann nicht Eigenschaft 'Höhe' von undefined lesen.
Vielen Dank für das oben Clearing, das scheint den undefinierten gelöst zu haben Problem. Aber ich bekomme jetzt "Höhe: NaN" -Druck zum Protokoll, warum könnte das sein? –
@GeorgeEdwards Scheint, 'height' kehrt nur zurück, wenn Sie die Eigenschaft festlegen und nicht die tatsächliche zurückgeben. Versuchen Sie, 'bottle.getMeasuredHeight()' zu drucken und sehen Sie, ob es einen Unterschied macht. –