Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
538 views
in Technique[技术] by (71.8m points)

swift - Cannot find type 'NSViewRepresentable' in scope

I want to create a blurred view in SwiftUI using NSViewRepresentable but XCode gives me an error message that says "Cannot find type 'NSViewRepresentable' in scope".

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

    }
}

However, when I copied and pasted this exact same code into a new brand new Xcode project, there are no errors. I searched all over Google and StackOverflow and haven't found anyone with the same issue.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Does your project have an iOS target? Are you building that target? If so, make sure the file is not included in this target(using the file inspector under Target Membership) since NSViewRepresentable is not available on iOS.

Alternatively you can wrap your code in #if os(macOS) and #endif.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...