SwiftUI 复选框聚焦环太大且偏离中心 - 这是错误吗?

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

此代码演示了问题:复选框的聚焦环太大并且在 macOS 14.5 上偏离中心。 (我没有检查其他 macOS 版本。另请注意,这不是 iOS 问题。)

import SwiftUI

@main
struct CheckboxFocusRingBugApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
        .windowResizability(.contentSize)
    }
}

struct ContentView: View {
    @State var text1: String = ""
    @State var isOn1: Bool = true

    let promptText: String = "" 

    var body: some View {
        VStack(alignment: .leading, spacing: 12) {
            HStack(alignment: .top) {
                TextField(promptText, text: $text1)
                    .frame(width: 100)
                Toggle("", isOn: $isOn1)
                    .toggleStyle(.checkbox)
            }
        }
        .padding(16)
    }
}

#Preview {
    ContentView()
}

Checkbox focus ring problem

是否有一个视图修改器可以纠正这个问题,或者这只是一个明显的错误?

macos swiftui focus
1个回答
0
投票

这解决了问题,但出乎意料的是:

Toggle("", isOn: $isOn1)
    .toggleStyle(.checkbox)
    .focusEffectDisabled() // <-- draws the focus ring correctly?!

发布问题后,我开始浏览其他 SwiftUI 焦点问题。第一个是这样的: SwiftUI:从 macOS 文本字段中删除“聚焦环”突出显示边框

我想知道效果会怎样,希望它能完全去掉对焦环。并非如此。它实际上解决了这个问题......当然,直到苹果纠正了我认为的聚焦环绘图错误。

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