在范围内找不到类型“NSViewRepresentable”

问题描述 投票:0回答:2

我想使用 NSViewRepresentable 在 SwiftUI 中创建模糊视图,但 XCode 给我一条错误消息,提示“在范围内找不到类型‘NSViewRepresentable’”。

import SwiftUI

struct BlurWindow: NSViewRepresentable { //Cannot find type 'NSViewRepresentable' in scope

    func makeNSView(context: Context) -> NSVisualEffectView { //Cannot find type 'Context' in scope

        let view = NSVisualEffectView() //Cannot find type 'NSVisualEffectView' in scope
        view.blendingMode = .behindWindow
        return view
    }

    func updateNSView(_ nsView: NSVisualEffectView, context: Context) { //Cannot find type 'Context' in scope

    }
}

但是,当我将完全相同的代码复制并粘贴到新的全新 Xcode 项目中时,没有错误。我在 Google 和 StackOverflow 上进行了搜索,但没有发现任何人有同样的问题。

swift swiftui nsviewrepresentable
2个回答
3
投票

您的项目有 iOS 目标吗?你正在制定那个目标吗?如果是这样,请确保该文件不包含在此目标中(使用目标成员资格下的文件检查器),因为 NSViewRepresentable 在 iOS 上不可用。

或者,您可以将代码包装在

#if os(macOS)
#endif
中。


0
投票

因为这是“在范围内找不到类型‘NSViewRepresentable’”的第一个命中:就我而言,我只是错过了

import SwiftUI
🤦

© www.soinside.com 2019 - 2024. All rights reserved.