在Nativescript-Angular TabView上隐藏选项卡按钮

时间:2018-12-01 12:44:32

标签: nativescript tabview nativescript-angular

我正在尝试找到一种方法,以使用Angular 6应用程序删除元素上的选项卡按钮,但到目前为止无济于事。基本上,我只想保留Tab的内容及其滑动功能。

显然,您可以使用特定的android和iOS方法,但是我不确定该怎么做。

<TabView [(ngModel)]="tabSelectedIndex" (selectedIndexChanged)="onSelectedIndexChanged($event)" (loaded)="tabViewLoaded($event)">
    <ng-container *ngFor="let article of articles" #tabView>
        <StackLayout *tabItem="{title: article.id}">
            <StackLayout>
                <NewsDetails></NewsDetails>
            </StackLayout>
        </StackLayout>
    </ng-container>
</TabView>

在我的.ts文件中,我可以找到对该元素的引用,如下所示:

@ViewChild("tabView") tabView: ElementRef;

ngAfterViewInit() {
    console.dir(this.tabView.nativeElement);
}

但是我不知道从现在开始该怎么做。有任何想法吗?以前所有与此相关的问题都没有解决。

这是一个示例游乐场链接:https://play.nativescript.org/?template=play-ng&id=iK9ZTM

1 个答案:

答案 0 :(得分:2)

将下面的代码与TabView的已加载事件一起使用。

onTabViewLoaded(event: EventData) {
   const tabView = <TabView>event.object;
   if (isIOS) {
     tabView.viewController.tabBar.hidden = true;
   }
   if (isAndroid) {
     const tabLayout = tabView.nativeViewProtected.tabLayout;
     tabLayout.getLayoutParams().height = 0;
     tabLayout.requestLayout();
   }
}

我最近这样做是为了发布在Uplabs

上的示例工作