问题标签 [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 投票
0 回答
196 浏览

swift - tvOS SwiftUI TabView 动态更改栏颜色

我有一个顶部有 TabView 的 tvOS 应用程序。我想使用 TabView 的背景颜色来指示状态。最初它将是红色的,当其中一个视图发生某些事情时,我想将 TabView 的背景颜色更改为绿色。

我正在使用UITabBar.appearance().barTintColor = UIColor.redininit()将初始颜色设置为红色,但我找不到在稍后执行时将其更改为绿色的方法。

0 投票
0 回答
451 浏览

swiftui - 如何使用 TabView 或 ScrollView 进行轮播?

我正在尝试像 Apple 的某些应用程序一样创建一个轮播。具有TabView分页样式,但它不会“窥视”上一个和下一个元素。ScrollView(.horizontal)不卡。我希望在不重写客户视图的情况下混合这两种行为。对于这些观点中的任何一个,这样的事情是否可能:

在此处输入图像描述

这就是我正在尝试的:

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
824 浏览

swiftui - 如何动态收紧 TabView 的高度?

似乎伸展到最大高度,但我希望它缩短到所需的TabView高度,而不是空白。这就是它的样子,即使Spacer它周围有景色:

在此处输入图像描述

有没有办法动态地将高度收紧到其孩子需要的高度?

0 投票
1 回答
57 浏览

swift - SwiftUI TabView 没有出现在模拟器中,但确实出现在 xcode 中

在此处输入图像描述

TabView 没有出现在模拟器中[在此处输入图像描述][2]

TabView 在编码时确实出现在 xcode [2]:https ://i.stack.imgur.com/BMPJM.png

0 投票
1 回答
955 浏览

ios - SwiftUI 如何在 PageTabViewStyle 中跟踪页面索引?

我正在尝试跟踪用户在 SwiftUI 中的哪个页面上,TabViewPageTabViewStyle我无法找出跟踪页面索引的最佳方法?使用.onAppear效果不佳,因为它被多次调用,即使不在屏幕上,第 2 页和第 3 页也会被调用。

0 投票
0 回答
174 浏览

ios - SwiftUI:在使用自定义页面视图时保持垂直滚动?

我正在使用下面的代码PagerView(来自此 Github Gist 的评论)来创建一个页面滑动 UI,它工作得非常好,并且比使用滑动过渡非常跳跃的情况要平滑TabView得多.tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))。但是,当我ScrollView在包含它的视图周围环绕时,PagerView它不会让我在每个PagerView页面内的子视图上垂直滚动。我注释掉了动画,PagerView没有任何改变,所以我不认为就是这样。任何其他想法是什么阻止我垂直滚动?

0 投票
0 回答
82 浏览

swiftui - matchGeometryEffect 不适用于 PageTabView

当我试图给每个 TabView 项目一个效果 id 时,它会抱怨Multiple inserted views in matched geometry group Pair<Int, ID>(first: 0, second: SwiftUI.Namespace.ID(id: 180)) have isSource: true, results are undefined.

为 PageTabView 中的项目分配 id 的正确方法是什么matchedGeometryEffect,以便我可以像 iOS 照片应用程序一样放大和缩小过渡?

还是 SwiftUI 的 bug?

0 投票
2 回答
801 浏览

swift - 在 SwiftUI 的 TabView 上方添加阴影

我正在尝试在 SwiftUI 中实现 TabView,它与屏幕背景颜色相同,但上面也有阴影,如下图所示: 在此处输入图像描述

到目前为止,我已经能够正确显示颜色,但我不知道如何添加阴影。这是我的代码:

有谁知道如何做到这一点?我会很感激你的帮助:)

0 投票
0 回答
190 浏览

swift - SwiftUI:在选项卡视图中显示键盘在第二个选项卡视图下方添加了一个奇怪的空间

这听起来是 SwiftUI 中的一个错误NavigationViewTabView当我有一个TabView(假设)2 个选项卡时,第一个选项卡有一个TextField,第二个选项卡有一个NavigationView,请按照以下步骤生成错误:

  1. 通过点击文本字段显示键盘。
  2. 按“返回”按钮隐藏键盘。
  3. 转到选项卡 2。
  4. 注意奇怪的底部在视图下方添加了空间,大约等于键盘的高度。

-注意1:如果您执行以下任何操作,则该错误将不会被复制:

  1. 应用程序启动后,打开选项卡 2,返回选项卡 1 并显示键盘。
  2. NavigationView从选项卡 2中删除
  3. 在选项卡 1 中再显示一次键盘

注意2:GeometryReader在选项卡 2 中使用黄色显示整个视图区域。

工作代码示例(只需复制粘贴即可尝试):

截屏:

在此处输入图像描述

有没有办法解决这个问题而不必删除NavigationView,我尝试了所有可能的解决方案,但找不到避免它的线索?

0 投票
1 回答
396 浏览

swift - SwiftUI:重置 TabView

我在生命周期应用程序TabView中有两个选项卡SwiftUI,其中一个具有复杂的视图结构:NavigationView内部有很多子视图,即:NavigationLinks 和它们DestinationView的 s 分布在视图树的多个级别上,每个子视图在其上own 是另一个带有sheets 和/或 other的视图层次结构DestinationView。在这个层次结构中的某个点,我想将TabView其重置为显示第一个最多视图的原始状态,这样用户就可以在该状态下重新开始他们的旅程,就像他们第一次打开应用程序一样,所以它是有点不可能找到类似isActive&isPresented绑定的东西来弹出或关闭视图和工作表。

我想在TabView内部包装另一个视图:RootView试图找到一种简单的方法来TabView从头开始重新创建它,或者像刷新/重置一样,TabView但找不到关于如何做到这一点的提示。

这是我的代码片段:

ps 我不是在寻找“从视图弹出到根视图NavigationLink”,因为当用户可能打开其中一个工作表并在工作表内开始新的导航旅程的许多活动目的地时,这是无法完成的。

******更新******

我创建了一个新Environment值来保存一个布尔值,该布尔值应该指示是否TabView应该重置,并且我已经跟踪了每个视图中的每个变量isPresentedisActive状态变量,并在将环境值设置为true如下时重置它们:

在将呈现工作表或推送新视图的每个视图中,我添加了如下内容:

在最后一个视图(将重置TabView)中,我像这样切换Environment值:

这导致尴尬地驳回意见:

在此处输入图像描述