如何在Nativescript中使用本机视图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Nativescript中使用本机视图相关的知识,希望对你有一定的参考价值。

我正在使用带有Angular2和typescript的NativeScript。尝试以这种方式添加本机元素:

html

<StackLayout #camview class="camView">
</StackLayout>

打字稿:

@ViewChild("camview") camview: ElementRef;


    constructor() 
    {


    }

    ngOnInit() 
    {
        alert("AA");
        var label = new UILabel(CGRectMake(0, 0, 200, 200));
        label.text = "Hello World again";
        label.textColor = UIColor.whiteColor();
        this.camview.nativeElement.addSubview(label);
        alert("BB");
    }

我不确定elementRef.nativeElement.addSubView是否可以工作,但结果屏幕上没有任何内容。更令人惊讶的是AA警报如何工作但不警告BB,就像代码解释在他们之间被中断一样

我没有任何错误或抱怨,应用程序继续运行,我能够离开并返回到此页面。

我试图通过将UILabel拼写错误到UILabeel来强制错误,但它不会产生我预期的错误..它只是相同的行为。

我应该告诉nativescript这些是原生元素/ mehods莫名其妙?

答案

几个小时后,我意识到该怎么做。

XML:

<StackLayout #stackLayout></StackLayout>

TS:

@ViewChild('stackLayout') stackLayout: ElementRef<StackLayout>;

addButton() {
   this.androidButton = new android.widget.Button(applicationModule.android.context);
   this.androidButton.setText("Some button text");
   this.stackLayout.nativeElement.nativeView.addView(this.androidButton);
}

以上是关于如何在Nativescript中使用本机视图的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用nativescript访问选项卡视图的IOS的badgeValue

本机模块在 nativescript 中无法正常工作

如何在 NativeScript 中使用原生 API?

如何在 nativescript 中显示模态视图时将窗口背景变为黑色

NativeScript - ios如何在键盘出现时调整视图

如何在 NativeScript 布局中查找/查看视图的尺寸?