如何隐藏垂直滚动TabView的索引指示器(点)?
解决垂直TabView索引指示器无法隐藏的问题
你当前代码的问题在于重复调用了tabViewStyle,后一次设置会覆盖前一次。.verticalPage本质是PageTabViewStyle的便捷写法,正确做法是在同一个样式设置里同时指定垂直方向和索引显示模式。
修改后的代码
方式一:完整参数写法
var body: some View { TabView(selection: $selectedTab) { ViewOne() .tag(VerticalTab.viewOne) ViewTwo() .tag(VerticalTab.viewTwo) } .tabViewStyle(PageTabViewStyle(indexDisplayMode: .never, orientation: .vertical)) }
方式二:便捷语法写法
var body: some View { TabView(selection: $selectedTab) { ViewOne() .tag(VerticalTab.viewOne) ViewTwo() .tag(VerticalTab.viewTwo) } .tabViewStyle(.verticalPage(indexDisplayMode: .never)) }
补充说明
- 连续调用
tabViewStyle只会保留最后一次的配置,你之前的代码里,.verticalPage的设置被后面的PageTabViewStyle(indexDisplayMode: .never)覆盖,而后者默认是水平方向,导致垂直TabView的指示器依然显示。 - 关于水平TabView首次加载显示指示器的问题,这是iOS的默认交互提示,目前没有官方方法完全禁用该首次显示效果,若要规避只能通过自定义分页视图等非官方方案实现。
内容的提问来源于stack exchange,提问作者peter flanagan
相关产品推荐
相关产品推荐

