问题标签 [pagetabviewstyle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
766 浏览

ios - 如何在 SwiftUI 中使用 PageTabViewStyle 摆脱 TabView 上的索引点?

我有以下代码,但似乎无法删除 TabView 底部的点。

我原以为 PageIndexViewStyle(backgroundDisplayMode: .never) 会删除索引点,但这不起作用。有没有其他方法可以摆脱它们?

0 投票
0 回答
193 浏览

ios - 带有 PageTabViewStyle 旋转问题的 SwiftUI TabView

旋转分页 TabView 时遇到一些问题。我有以下代码:

当我旋转到横向然后开始翻阅卡片时,我注意到一些卡片仍然是纵向的,尽管设备是横向的,但内容被剪裁了。它似乎是随机发生的,只影响几张牌。我尝试监听旋转,然后切换状态变量以查看视图是否会在旋转后正确重绘,但这没有任何区别。不确定这是否是错误或如何纠正。

0 投票
0 回答
131 浏览

swiftui - SwiftUI 的 tabViewStyle PageView 不适用于纵向到横向的旋转

使用Swift5.5、iOS15.0.1、

在 SwiftUI 中创建 PageView 仍然不是那么简单——即使在 2021 年秋季也是如此。

Apple 让我们可以滥用带有特殊修饰符的 TabView 来创建 PageView

修改器被调用.tabViewStyle(.page(indexDisplayMode: .always)),并且在您将手机从纵向旋转到横向之前它会起作用。

Apple 不知何故没有想到使用此 API 进行纵向到横向的旋转。

旋转手机完全弄乱了页面索引!

下面是这个例子的完整代码。尝试自己旋转手机。

看视频:

为了在旋转后保持索引完好无损,您需要做什么?

--> 拜托,我不是要重新获得索引。我说的是围绕当前索引进行的漂亮,平滑的旋转(不是某种需要存储索引并在旋转后再次重新分配的变通方法......)

0 投票
0 回答
84 浏览

ios - 改变 TabView 的动画(pageTabViewStyle)

我目前正在构建一个应用程序,我正在使用 TabView (pageTabViewStyle) 来实现分页滚动,以便用户可以在页面之间滑动。

当您使用 pageTabViewStyle 以编程方式更改 TabView 的页面时,动画会滚动浏览每个页面,直到到达所选页面。如果我在第 1 页并选择第 10 页,它将滚动浏览其间的所有页面。

这可以改变吗?

我仍然希望它是动画的,但我想改变动画的风格。我正在寻找的更像是 UIPageViewController 或 Apples 日历应用程序的动画效果。在这些情况下,如果我在第 1 页并选择第 10 页,它只会为一页设置动画。

提前致谢!

0 投票
1 回答
38 浏览

ios - 带有 tabViewStyle 页面的 SwiftUI TabView 在 iOS 模拟器中运行,但在设备上崩溃

我正在尝试创建一个 SwiftUI iOS 应用程序,其顶级导航链接和使用 .page 的 TabView 详细视图,因此我可以在选项卡之间滑动。是的,我知道 TabView 通常位于顶层,带有 NavigationLink 细节。

该应用程序在 iOS 模拟器中运行,但在我的 iPhone 上挂起/崩溃。

这是我想要工作的代码:

内容视图.swift

}

DetailView.swift

}

简化的 DetailView 也以相同的方式崩溃:

简化的 detailView.swift

}

当我在我的 iPhone 上运行它时,我可以选择 NavigationLink。它变暗然后挂起而不渲染detailView()。很久以后,我收到一个错误对话框,表明该应用程序由于内存问题而终止。

如果我删除 tabViewStyle 修饰符,应用程序将在设备上运行。当然,它默认为在设备底部带有控件的传统选项卡视图。

我在运行 macOS Monterey 12.2.1 (21D62) 的 M1 mac mini 上运行 Xcode 13.2.1 (13C100)。我在运行 iOS 15.3.1 的 iPhone 8 Plus 上运行。默认情况下,Xcode 具有 iOS 15.2 的 iOS 部署目标。

有什么建议么?