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

swiftui - iOS 15 中的 Navigation + Tabview + Sheet 损坏

看起来 Navigation + TabView + Sheet 在 iOS 15 中被破坏了。

当我这样做时: ContentView -> DetailView -> Bottom Sheet

当底部工作表出现时,Detail视图会自动从堆栈中弹出: https ://www.youtube.com/watch?v=gguLptAx0l4

我希望Detail即使出现底部表格,视图也会保留在那里。有谁知道为什么会发生这种情况以及如何解决它?

这是我的示例代码:

这适用于 iOS 14 顺便说一句

更新 1:

尝试了@Sebastian 提出的NavigationViewTabView. 虽然这修复了导航错误,但它从根本上改变了行为(我不想在 中显示选项卡DetailView)。

还尝试了他使用Introspect设置目的地navigationController.hidesBottomBarWhenPushed = true的建议NavigationLink,但这并没有做任何事情:

0 投票
0 回答
36 浏览

ios - 使用 SwiftUI 3 .badge 修饰符时更新 TabView 徽章会重新加载所有视图

我的应用程序有一个非常标准的 TabView 设置。一切正常,但是当我动态更新通知页面的 TabView 徽章计数时,整个视图都会重新加载,我想知道这是否是一个错误,或者我是否可能忽略了某些事情并做错了什么。以下是相关代码:

MainView.swift

UserState.swift

NotificationsView.swift

现在,我在 NotificationCardViewModel 中有一个“清除”按钮,我按下它只是为了随机生成一个新的徽章计数。当我按下按钮时,不只是更新徽章计数,而是重新加载整个视图,包括所有网络请求,并且所有局部变量都被清除,就像正在调用表 reload() 一样。我试过用 DispatchQueue.main.async() 来做这个,但没有运气。

这是 NotificationCardView.swift 中非常简单的代码,它是我的通知列表的单元格视图。老实说,这段代码的位置并不重要,因为我到处都试过了,结果都是一样的:

每次触发此代码时,无论我尝试将更改发布到通知计数的哪个视图或类,当前视图都会重新加载。徽章确实得到了更新,但显然 SwiftUI 中内置了一些东西,因此对标签栏的任何更新都会立即刷新并重新加载所有基本视图?我不知道,也不敢相信这是否真的是功能。

有没有其他人有这方面的经验以及如何让它发挥作用?

0 投票
1 回答
50 浏览

ios - TabItem 切换在 iOS13 设备中无法正常工作

我用两个 tabItems 创建了 Tab bar 的演示。每个选项卡项中都有视图控制器。

在切换选项卡时,它显示其各自的 UI。

这仅在iOS 13上发生。

代码:

====

附上 iOS 13 和 15 的图像。

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
123 浏览

ios - 在 SwiftUI 中以编程方式更改选项卡不会更新子视图

构建一个网页浏览量,作为视频的垂直轮播,在视口内自动播放并在视口外暂停。到目前为止,自动播放似乎在起作用(尽管有点老套,欢迎提出改进建议)。Feed/pageview 中的一个重要功能是,当视频结束时,它会自动滚动到下一页/视频。我正在使用的当前逻辑是在视频结束/按下按钮时简单地增加选项卡选择/当前页面。这确实使它移动到下一页,但自动播放变得一团糟,因为应用程序似乎认为它仍在旧视频上,简而言之,选项卡已更改,但子视图的内容在内存中保持不变。附加父视图和子视图的源代码。

ByteFeedView.swift

字节.swift

字节播放器.swift

如果这些信息还不够,可以分享任何其他需要的信息。

0 投票
2 回答
57 浏览

swiftui - SwiftUI:如何将图像更新为 TabView 中的填充/轮廓

我在选择时尝试使用填充图像,在取消选择时尝试使用轮廓图像。我尝试渲染图像但仍然填充

所以我认为这会起作用,但它没有:

选项卡视图中的第二项已填充,应概述

0 投票
1 回答
243 浏览

swiftui - TabView 中的 SwiftUI 导航标题

由于这个问题SwiftUI TabView 亮度视图垂直位置中概述的答案中概述的原因,我的应用程序的菜单结构是NavigationView-> TabView-> 具有不同导航标题的子视图。

问题是.navigationTitle为整个 TabView 提供一个导航标题,而不是为每个子视图提供一个导航标题。如何有多个导航标题TabView,每个子视图一个?

0 投票
0 回答
41 浏览

ios - SwiftUI:另一个视图中的 Tabview

让这段代码成为 swiftui 项目的主要视图之一。

这是页面的截图:我想知道如何提升我在 Trips.swift 中的 hstack,以便 Trips 标签更靠近顶部个人资料页面 https://imgur.com/GgFMStG

}

0 投票
2 回答
173 浏览

ios - SwiftUI TabView 与 PageTabViewStyle 在设备上的横向与 safeArea 添加奇数前沿插图

我有一个带有 PageTabViewStyle 的 TabView,当我的设备处于横向时,前缘有一个奇怪的插图。这在没有安全区域的设备上不存在,并且在纵向的任何边缘上也不存在。

在此处输入图像描述

0 投票
0 回答
96 浏览

swiftui - 由于从tabview到多个视图内部观察到视图模型,视图自动弹出到swift ui中的上一个视图?

我在将 1 个视图推送到另一个视图时遇到问题。让我解释一下层次结构。

ContentView -> 2 个选项卡,TabAView 和 TabBView 在 TabBView 内。有 1 个视图使用了 ConnectView:连接按钮在哪里。点击 Connect 按钮后,用户移动到另一个视图,称为 UserAppView。

这是更好地理解我的问题的代码。

内容视图.swift

这是 TabAView:

这是另一个 TabBView:

TabBView 上使用了 1 个 connectView,用户将通过该 connectView 进行连接。此处使用 ConnectViewModel 来调用连接 API。

这是连接视图

这是调用 API 以获取一些与用户相关的详细信息的 UserAppViewModel:

类 UserAppViewModel: ObservableObject {

}

这是 UserAppView 类

每当执行此语句userAppViewModel.getDetails时,用户会来到 UserAppView,但是当收到 getDetails 的响应时,它会自动转到 ConnectView。

从机密的角度来看,我已经删除了大部分代码,但这段代码将解释原因和错误。请查看代码并帮助我。

0 投票
0 回答
52 浏览

ios - TabItem + AsyncImage - 图像非常大

我正在尝试使用 AsyncImage 异步加载图像 - 但结果是图像非常大并且覆盖了所有屏幕。

试图在每个地方放置 .frame 边界,但图像非常大!

我究竟做错了什么?

感谢您的协助!