首页 > 解决方案 > 在 SwiftUI 中从视图中删除焦点环

问题描述

我正在使用 SwiftUI 制作一个 macOS 应用程序,我想在其中使用箭头键来偏移Circle视图。我唯一的问题是我的Circle视图被蓝色对焦环包围,我想将其移除,但不知道如何移除。除此之外,我的代码工作正常。(见下图,我想去掉蓝色边框)

圆圈周围的蓝色边框不应该在那里。


我在 Stack Overflow 上发现了很多关于从 a 中删除焦点环的问题TextField,但对于其他类型的视图却没有。如何TextField使用 SwiftUI 从非视图中移除对焦环?如果无法做到这一点,没有对焦环,我还能如何实现相同的功能?

代码:

struct UITestbed: View {

    @State private var xInput: CGFloat = 0
    @State private var yInput: CGFloat = 0

    var body: some View {

        Circle()
            .frame(width: 20, height: 20)
            .focusable()
            .offset(x: self.xInput, y: self.yInput)
            .onMoveCommand { (direction) in
                withAnimation(.easeInOut) {
                    switch direction {
                    case .right:
                        self.xInput += 10
                    case .left:
                        self.xInput -= 10
                    case .up:
                        self.yInput -= 10
                    case .down:
                        self.yInput += 10
                    default:
                        fatalError("Unknown move command")
                    }
                }}

    }

}

标签: swiftmacosswiftui

解决方案


推荐阅读