NavigationBarTitle不会使用minimumScaleFactor()或allowTightening()收缩文本

时间:2020-08-03 15:21:08

标签: ios swiftui

在NavigationView上使用.navigationBarTitle时,添加修饰符.minimumScaleFactor(0.5)或.allowsTightening(true)无效。文本仍被截取并保持相同大小。

我的应用程序在导航栏标题中显示参考代码和其他一些信息,它非常适合Plus尺寸的iPhone,但在较小屏幕的iPhone上被修饰(...)。 该信息对于应用程序的运行非常重要,我们已经没有足够的屏幕空间,因此实际上没有其他地方可以放置此信息。

使用UIKit,我会创建一个特殊的TitleView来替换NavigationBar中的标题文本,但这在SwiftUI中不起作用。

有什么解决方法吗?

示例:

struct ContentView: View {
  let items = ["Chocolate", "Vanilla", "Strawberry", "Mint Chip",
               "Pistachio"]
  let title = "A long title that doesn't fit on a standard iPhone"
  var body: some View {
    NavigationView {
      List(items, id: \.self) {
        Text($0)
      }
      .navigationBarTitle(title, displayMode: .inline).minimumScaleFactor(0.5).allowsTightening(true)
    }
  }
}

iPhone 8 Plus的ScreenShot: ScreenShot from iPhone 8 Plus

iPhone 8的屏幕截图: Screenshot from iPhone 8

0 个答案:

没有答案