问题标签 [swiftui-tabview]

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 投票
2 回答
300 浏览

ios - SwiftUI TabView PageTabViewStyle 崩溃而不显示任何错误

我正在尝试使用 tabview 创建一个图像轮播并从 firebase 加载图片。不显示任何错误消息或代码 tabview 崩溃。请阐明这里出了什么问题。

ViewModel:它包含两种从 Firebase 获取数据和图片的方法。这工作正常并且正在获取正确的数据。唯一的问题是在显示它时 tabview 崩溃而不显示任何错误消息。

0 投票
1 回答
25 浏览

swiftui - Tabview 不能正确切换标签

我有一个用于创建自动幻灯片的 tabview(页面样式)。由于某种奇怪的原因,每张幻灯片都没有分配给 currentIndex。计时器既不工作,也不使用 tabview 提供的默认点控件手动切换选项卡。

如果我将标签设置为 selectedIndex 选项卡视图将默认为第一张幻灯片。控制台没有错误。任何帮助是极大的赞赏!

0 投票
2 回答
152 浏览

ios - 在 TabView 中使用 VNDocumentCameraViewController 作为 UIViewControllerRepresentable

我在一个VNDocumentCameraViewController称为嵌入UIViewControllerRepresentable的视图中作为第二个屏幕。在关闭(取消或保存扫描)时,我希望选项卡视图返回到我的第一个屏幕。那部分就像一个魅力。ScanViewTabViewVNDocumentCameraViewController

我的问题是,当回到我的. 时VNDocumentCameraViewController,我想重新实例化该控制器并重新开始——这是我无法弄清楚如何实现的。

我知道我ContentView保留对 的引用ScanView是为什么 myUIViewControllerRepresentable没有被重新实例化——我怎样才能手动做到这一点?

这是代码:

0 投票
1 回答
197 浏览

swift - SwiftUI NavigationView 从内部开始

所以我在页面视图样式中的 TabView 中嵌入了一个 NavigationView。首次加载时,NavigationView 将在其内部启动,然后重新加载后正常显示。我不确定是什么原因造成的。我制作了一个 GIF 来更好地说明这个问题:

在此处输入图像描述

这是我的代码:

0 投票
0 回答
139 浏览

swift - SwiftUI NavigationView 标题开始较低

所以我在页面视图样式中的 TabView 中嵌入了一个 NavigationView。在第一次加载时,NavigationView 将以低于其应有位置的标题开始。一旦我重新加载视图,通过转到不同的选项卡,它会正确重置其自身。有没有办法解决这个问题,让它从正确的位置开始?我制作了一个 GIF 来更好地说明这个问题:

我的动图

这是我的代码:

0 投票
0 回答
113 浏览

swiftui - Swiftui tabview 选项卡滑动监听器

我有一个带有三个选项卡的简单选项卡视图

这是原始代码的摘录

我想收听选项卡上的任何滑动事件并获得类似的值

当用户从一到二滑动标签时,我应该得到每个值,如 0.0、0.1、0.2 ... 1.0

在 android 中,tablayout => TabLayout.addOnChangeListener 上有方法,它给出了所有的值

我第一次尝试 swiftui

请帮忙

0 投票
1 回答
253 浏览

swiftui - 限制页面选项卡视图 Swiftui 中的点数

我正在尝试使用 PageTabview 选项来允许用户浏览一系列数据来自 JSON 文件的页面。即使字段中有很多值,我也希望能够将可见点的数量限制为 5 或 6。如果字段中有 25 个值,我不想要的是 25 个点。我该怎么做?我希望能够显示像箭头一样的指示器,告诉用户还有更多……谢谢。我的代码如下:

在此处输入图像描述

0 投票
1 回答
1371 浏览

swiftui - SwiftUI 自定义选项卡栏图标不更改选项卡。面积在它上面

我目前的自定义选项卡栏有问题,其上方有一个灰色区域(选项卡视图),用于控制每个选项卡,但我需要将其放在自定义选项卡栏下方,但 TabView 的功能仍然有效并与图标。您可以使用 UITabBar.apperance() 隐藏选项卡栏,它摆脱了灰色区域但不再具有任何功能..但我需要该灰色区域位于选项卡下方。如果这有意义吗?

浅灰色区域是我在图标下需要的区域。 谢谢。

主页.swift

CustomTabBar.swift

编辑:第二张图片我隐藏标签栏,将其设置为 true 而不是 false。

0 投票
1 回答
19 浏览

swiftui - TabView 在重绘时是否会错过导航点击?

我有一个普通的 TabView、一个@ObservedObject 和一个正在运行的后台任务,它定期更新@ObservedObject 的@Published 字段。

我注意到,当后台任务更频繁地运行并对@ObservedObject 产生更多更改时,TabView 上的导航选项卡的响应速度会降低——它们会“错过”点击。如果我点击两三下,我通常可以改变视图。背景更新越频繁,点击被“错过”的次数就越多。

所以我想知道 TabView 在重绘时是否以某种方式未能注意到点击,或者类似的东西?

有什么见解吗?

0 投票
1 回答
237 浏览

swiftui - 使用自定义导航栏和 TabView SwiftUI 时向后滑动

我有一个使用自定义导航栏的 SwiftUI 应用程序。因此,我需要单独处理后退导航(后退按钮和滑动手势)。到目前为止一切都很好,当我需要使用 TabView 在页面之间滑动时。下面的代码说明了我想要实现的目标:

内容视图.swift

SecondView.swift

请注意,我没有为第二个视图添加自定义导航栏,我只是隐藏了默认导航栏,因为不需要自定义栏来解决这个问题。

当用户在里面SecondView并按下后退按钮时,一切都按预期工作。当他尝试向后滑动时会出现问题,因为 TabView 捕获了向后滑动手势。我想保留 TabView 的“页面间滑动”功能,同时能够返回到ContentView用户从屏幕最左侧向右滑动时的状态。

此问题仅在使用TabViews 时出现,其他类型的内容处理向后滑动手势没有问题。

为了解决这个问题,我可以TabView像这样添加一个水平填充:

然后用户将有一些空间可以向后滑动,但是当内部的某些视图TabView需要占用屏幕的整个宽度时,这种解决方案就不是很好了。

在这种特殊情况下,有没有办法处理向后滑动手势?也许另一种可能的解决方案是自定义 TabView 以在显示第一个视图并捕获向右滑动手势时忽略拖动手势(我不知道如何实现)。