You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从UIKit视图跳转至SwiftUI视图时默认返回按钮不显示

解决UIKit跳转SwiftUI后无返回按钮的问题

原因

使用UIHostingController将SwiftUI视图推入UIKit导航栈时,SwiftUI视图本身不会自动触发UIKit导航栏的返回按钮显示逻辑,导致页面顶部缺少返回按钮。

两种可行解决方法

方法1:给UIHostingController设置标题

在跳转前为UIHostingController添加标题,UIKit导航栏会自动生成返回按钮:

let swiftUIController = UIHostingController(rootView: SwiftUIView())
swiftUIController.title = "SwiftUI页面" // 新增标题设置
self.navigationController?.pushViewController(swiftUIController, animated: true)

方法2:在SwiftUI视图中嵌入导航容器

如果需要SwiftUI原生导航体验,用对应版本的导航容器包裹视图,设置标题后会自动显示返回按钮:

import SwiftUI

struct SwiftUIView: View {
    var body: some View {
        // iOS 16及以上用NavigationStack,iOS 13-15替换为NavigationView
        NavigationStack {
            Text("Hello, World!")
                .navigationTitle("SwiftUI页面")
        }
    }
}

内容的提问来源于stack exchange,提问作者iceiscold

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 11:48:26