小编Ris*_*ari的帖子

调用@Environment 时收到错误“类‘环境’不能用作属性”

我正在尝试在 SwiftUI 中包含带有自定义字体的动态类型,并且当我尝试获取环境的sizeCategory.

我试过使用@Environment 来获取除 之外的对象sizeCategory,但它不断抛出相同的错误。

我在 Xcode 11 beta 5 上使用了这篇StackOverflow 帖子中的代码的修改。它似乎适用于那里的其他人,所以我真的很困惑为什么它对我不起作用。

struct RawlineFont: ViewModifier {
  var textStyle: Font.TextStyle

  @Environment(\.sizeCategory) var sizeCategory : ContentSizeCategory

  init(_ textStyle: Font.TextStyle = .body) {
    self.textStyle = textStyle
  }

  func body(content: Content) -> some View {
    content.font(getFont())
  }

  func getFont() -> Font {
    switch(self.sizeCategory) {
    case .extraSmall:
      return Font.custom("Rawline", size: 16 * getStyleFactor())
    case .small:
      return Font.custom("Rawline", size: 21 * getStyleFactor())
    case .medium:
      return Font.custom("Rawline", size: 24 * …
Run Code Online (Sandbox Code Playgroud)

swift swiftui

9
推荐指数
2
解决办法
2047
查看次数

标签 统计

swift ×1

swiftui ×1