问题标签 [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.
ios - SwiftUI TabView 似乎不尊重@SceneStorage
我有一个应用程序可以根据其 sizeClass 在 TabView 和侧边栏视图之间切换。适用的代码如下:
这是我的问题:
当应用程序以常规宽度启动时,会显示侧边栏并显示LastTab
选择的内容。如果我用另一个应用程序拆分屏幕,迫使我的应用程序进入紧凑宽度,那么窗口内容将切换到第一个选项卡的内容。我希望它停留在最后选择的选项卡上。
我在 TabView 行上放了一个断点$lastTab
并显示了正确的值,但 TabView 似乎并不尊重它。
swiftui - 动态设置 SwiftUI NavigationBarItems?
如何动态更改 SwiftUI 导航栏项?
我在 NavigationView 中有一个 TabView,我希望导航栏项根据所选的选项卡进行更改。但是,我很难确定如何使用 .onAppear() 来更改它,假设这甚至是您应该做的。
我的代码目前布局如下:
ios - 使用 NavigationLink 打开新视图时如何隐藏 TabView?
假设我们有一个 SwiftUI 视图,其中包含
现在,假设每个元素都FirstView
包含一个NavigationView
可滚动的内容NavigationLink
。我怎样才能使它在NavigationLink
触发目标时(即打开子视图),它接管整个页面(全屏)并隐藏TabView
?
理想情况下,我想支持 iOS 13+。
我曾尝试遵循Hacking with Swift的指导,但无济于事。
我还遵循了NavigationLink 视图中的 SwiftUI Hide TabView bar中的建议,但发现顶级解决方案的性能并不高,因此我希望能够实现一个没有延迟出现的解决方案。
swiftui - SwiftUI:如果在 TabView 内与其他视图交互时,列表行会突出显示
如果 a与 aList
中的其他视图一起放置,VStack
其中定义了 a 中的一个页面TabView
with PageTabViewStyle
,与其他视图交互(点击、长按)会导致所有(可见)行List
被突出显示。
以下视图演示了这种行为:点击或长按按钮或紫色区域(Color
视图)将导致列表中的行突出显示(Xcode 12.1
& iOS 14.1
)。
我认为这是一个错误并且已经提交了反馈,但想知道是否有解决方法,而它没有修复。
swift - SwiftUI TabView:如何检测标签上的点击?
每次点击选项卡时,我都想运行一个函数。
当我点击一个新选项卡时,在下面的代码中(通过使用onTapGesture
)myFunction
被调用,但选项卡视图没有改变。
我怎样才能得到这两个东西:
- tabview 正常显示
- 我的函数被调用
swift - 为什么在 TabView 中多次调用 makeUIView?
我的应用程序有一个 TabView (PageTabViewStyle),每个选项卡内都有一个 UIViewRepresentable。我已经简化了代码以生成下面的最小可重现示例。问题是 makeUIView 在出现时被多次调用,在浏览页面时又被多次调用。
仅供参考,这在 iOS 14.0 中不是问题,但在 iOS 14.2 中正在发生。我目前正在使用 Xcode 12.2 Release Candidate。
当屏幕出现时,控制台打印:
当我向右滑动一次时,它会打印:
swiftui - SwiftUI - TabView 灯光模式 UIColor 出现在预览中,而不是在 Sim 或设备中
我在 MacOS 11.01 上使用 Swift 5.3 并为 iOS 14.2 创建了一个新的“多平台”应用程序。我为亮/暗模式创建了自定义颜色资源,但无法让亮模式背景颜色显示在我的 TabView 上。TabView 暗模式背景颜色看起来很好。
浅色模式的背景颜色在 Xcode Preview 中看起来很完美,但是当我在 Sim 或我的设备上运行应用程序时,标签栏背景颜色在浅色模式下是清晰的,但在深色模式下显示正确的颜色。
I use the same color assets for coloring my NavigationView and both the light and dark mode colors appear correctly when the corresponding modes are selected.
最新的 SwiftUI 5.3 和颜色资产在这里有什么明显的遗漏吗?
我.onAppear
在 TabView 中使用以下代码
UITabBar.appearance().barTintColor = UIColor(named: "barBackground")
请注意,“barBackground”是我创建的自定义颜色集,用于向 NavigationView 和 TabView 添加亮/暗模式背景颜色。
如果不清楚,很高兴提供更多信息。谢谢!
swiftui - SwiftUI 中的更多 TabView
在 SwiftUI 中,我有一个包含 6 个以上选项卡的 TabView。当我尝试导航到更多选项卡时,更多选项卡将不起作用。我将如何使更多选项卡工作?我现在可以使用所有其他选项卡进行导航,但无法使用更多选项卡进行导航。
谢谢。
下面是创建 TabView 的代码:
}
ios - SwiftUI - 将应用程序移动到后台然后恢复到前台后,TabView 失去颜色
我在 iOS 14.2 上运行的 MacOS 11.01 上的 Xcode 12.2 中有一个 SwiftUI 5.3 多平台应用程序,该应用程序使用自定义颜色资产进行亮/暗模式。启动应用程序时,它可以在明暗模式之间完美切换。所有的颜色都会相应地改变。
但是,在暗模式下,如果我将应用程序移到后台并将另一个应用程序带到前台,然后返回到我的应用程序(从后台恢复),TabView 颜色会完全消失。顶部的 NavigationView 正常运行,正如预期的那样。如果我随后切换到灯光模式,则会为 TabView 显示正确的灯光模式颜色。切换回暗模式会恢复正确的暗模式 TabView 颜色。如果我再次将应用程序移到后台,查看另一个应用程序,然后将我的应用程序带回前台,TabView 颜色再次被洗掉。
我已经尝试过无数次使用init
and调用颜色的方法.onAppear
,但没有任何东西可以纠正这种行为。
有什么想法吗?感谢您花时间帮我解决这个问题。
编辑以增加清晰度。此处添加代码: