![](/img/trans.png)
[英]How to hide UIKit Tabbar in UIViewControllerRepresentable in SwiftUI
[英]UIKit TabBar with SwiftUI View
我正在更新我現有的 UIKit 以在某些部分使用 SwiftUI,我覺得可以用 SwiftUI 替換所有這些部分。 它是一個選項卡應用程序,因此有 3 個選項卡,其中一個是設置,我將其替換為 SwiftUI。 我的標簽欄被配置為只顯示圖像而不顯示標題(我需要幫助的問題也會出現在顯示的標簽上)。 現在在 UIKit 我這樣做:
private let settingsViewController: UIViewController = UIHostingController<SettingsView>(SettingsView())
稍后在展示之前:
settingsViewController.navigationItem.title = "Settings"
。
但是從那時起 SwiftUI 開始使用它的視圖修飾符: .navigationBarTitle("Text")
,我將其用於嵌套視圖控制器(通過NavigationLink
推送),因為 UIKit 無法訪問這些視圖來設置標題。 然而,問題是,每當使用.navigationBarTitle
時(與在 UIKit 中設置視圖的title
屬性相同,它會設置當前選項卡欄項目的標題。對於 UIKit ,總有一種方法可以設置navigationItem.title
而不是title
。
有沒有辦法在 SwiftUI 中設置導航欄標題而不是標簽欄標題本身?
謝謝
這是 iOS 中的一個錯誤。 請向 Apple 提交錯誤報告。
我剛剛發現了解決此問題的方法:
創建UINavigationController
的自定義子類,並將其用作包含您的settingsViewController
的導航 controller 。
class WorkaroundUINavigationController: UINavigationController {
override var title: String? {
get { tabBarItem.title }
set { navigationItem.title = newValue }
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.