SwiftUI

WrapFast

WrapFast助力开发者高效生成iOS应用与AI包装器SwiftUI样板代码。

像Instagram/X这样的应用在SwiftUI中如何实现跨不同信息流的帖子状态(如点赞)同步?

我在尝试理解在SwiftUI中使用新的Observation框架实现共享帖子状态的正确架构。 我有一个简单的例子,其中 ContentView 和 SavedView 都显示 PostView。 @Observable class Post { var id: Int var content: String var title: String var isLiked: Bool = false init(id: Int, content: String, title: String, isLiked: B

在使用UIHostingConfiguration的混合UIKit/SwiftUI设置中,如何在单元格内容调整大小时防止UITableView的内容跳动?

我正在尝试通过 UITableView 和 UIHostingConfiguration 来显示单元格的内容,重写我的SwiftUI滚动视图。设置本来很简单,但我在调整单元格大小方面遇到了一个阻碍。 每当单元格的内容在垂直方向增长时,表格视图就会跳动不稳,大家有什么想法来解决这个问题吗? 参考请见附上的视频: https://imgur.com/a/KcHVh2R 我已将示例项目上传到GitHub: https://github.com/wiencheck/SwiftUITableViewPOC 主要内容

SwiftUI父视图的onTapGesture拦截了来自嵌入的AVPlayerViewController的点击事件

我在一个包含父级 .onTapGesture 的SwiftUI视图层次结构中,通过 UIViewControllerRepresentable 嵌入一个 AVPlayerViewController。 在某些较旧的iOS版本中,点击视频播放器也会被父级SwiftUI手势识别。在下面的示例中,当我点击视频播放器时,会打印出“hello”。AVPlayerViewController 控件(播放/暂停、进度条等)会正确地出现和隐藏,但控件本身有时对点击没有响应。 看起来父级SwiftUI手势识别器正在与嵌入的

iOS 26/27 SwiftUI——如何实现“把搜索作为一个选项卡”的过渡效果(选项卡向左折叠、底部显示搜索框),并且有一个分离的搜索选项卡?

我正在用SwiftUI构建一个应用,运行在 Xcode 26/27(测试版),目标平台为iOS 26 / iOS 27,我想要苹果自家应用(电话、新闻、健康、音乐)所使用的那种精准的 “作为标签页的搜索” 行为:一个搜索标签页,在Liquid Glass标签栏的右侧以 视觉上分离 的方式显示,当点击时,其他标签会 向左折叠,而 搜索输入框在屏幕底部滑入(取代标签栏的位置),并出现键盘。 What’s supposed to work (WWDC “search as a tab”): TabView {

在SwiftUI中,当导航栏标题较大时,居中的ScrollView内容在下拉刷新后无法回到原位

问: 在SwiftUI中,是否有办法让位于屏幕中间的 ScrollView 内容在 .refreshable 完成后不再向下移动? 预期效果: 占位内容在下拉刷新结束后仍然保持在屏幕中间的位置。 结果: 刷新结束后内容向下移动,只有我手动滚动才能回到居中位置。 我尝试过: 我也尝试使用 GeometryReader 将内容居中放在 ScrollView 里面,但 .refreshable ScrollView 的组合得到的结果仍然一样。 环境: 部署目标:iOS 26 在预览 / 模拟器 / 真机上均有复

SwiftUI在使用.toolbarRole(.editor) 且禁用Liquid Glass时,返回按钮的左箭头在带有弹跳动画时出现故障

我有一个全新的SwiftUI应用,为了避免Liquid Glass的重新设计,我在Info.plist中添加 UIDesignRequiresCompatibility = YES。 在一个推送到 NavigationStack 的详情屏幕上,我应用 .toolbarRole(.editor),以使返回按钮只显示箭头(而不在旁边显示上一屏的标题文本)。使用该修饰符时,返回按钮箭头在推送过渡期间会出现glitchy动画:到达详情屏幕时,箭头向下移动,再往上回弹,最终稳定在左上角的正确位置。 这里 有一个简短

在没有网络的情况下,SwiftUI的地图视图会卡死

Map 视图在 SwiftUI 中冻结,或在没有互联网连接时停止接收触摸事件。任何交互,例如 zoom、pan 和 rotate,都将失效,但地图本身似乎仍在工作,例如我可以添加一个 MapPolyline 并更新它,但地图仍然没有响应。 为澄清,我并不介意地图本身是空的,即没有瓦片,前提是没有网络连接是预期的,但我仍然希望能够与地图互动。 这在 iOS 17和 18 上正常工作,但似乎在 iOS 26 上停止工作。 注:我注意到当没有缓存的地图瓦片时,这个问题更为显著。MapKit 有内部缓存,因此如果

SwiftUI的滑块会频繁触发触觉反馈

我正在尝试实现一个带有步骤的SwiftUI Slider,但在滑块到达任一端时,触觉反馈会被重复触发,遇到了一个问题。 这在苹果官方文档中的示例也会出现同样的问题: https://developer.apple.com/documentation/swiftui/slider 我是在iOS 26、Xcode 26.5上进行测试的。 还有人遇到过这种行为吗?有没有办法在滑块移动到最小值或最大值时防止触觉反馈被频繁触发? 要重现这个问题: struct ContentView: View { @State

SwiftUI导航栏按钮的颜色会根据根视图是ScrollView还是VStack而改变

我在一个 NavigationStack 里放着一个SwiftUI视图,并使用了自定义导航栏背景颜色。我希望导航栏按钮在整个应用中保持一致的颜色。 问题在于导航栏按钮的颜色会根据body中的首个根视图而变化。 当根视图是一个 ScrollView 时,导航栏按钮显示为白色: var body: some View { ScrollView {} .toolbarBackground(Color(red: 0.02, green: 0.27, blue: 0.13), for: .navigationBar