簡體   English   中英

UIKit TabBar 與 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM