如何在 MacOS 的 SwiftUI 中向 TextEditor 添加焦点环

Posted

技术标签:

【中文标题】如何在 MacOS 的 SwiftUI 中向 TextEditor 添加焦点环【英文标题】:How to add a focus ring to TextEditor in SwiftUI for MacOS 【发布时间】:2021-12-09 07:40:48 【问题描述】:

与具有动画蓝色焦点环的 TextField 相比,TextEditor 控件没有它。这个怎么添加?它的外观和行为(即动画)应该与 TextField 中的完全相同,因此仅添加边框是不够的。

【问题讨论】:

【参考方案1】:

通过使用Introspect 之类的东西,您可以这样做:

struct TextEditorWithFocusRing: View 

    @Binding var text: String

    var body: some View 
        TextEditor(text: $text)
            .introspectTextView  textView in
                textView.enclosingScrollView?.focusRingType = .exterior
            
        
    


【讨论】:

以上是关于如何在 MacOS 的 SwiftUI 中向 TextEditor 添加焦点环的主要内容,如果未能解决你的问题,请参考以下文章

Swiftui: MacOS App: Fetching Core Data in ContentView OK,但是如何使用 AppDelegate 的结果呢?

如何在 SwiftUI 中向 Viewmodifiers 添加闭包?

在 swiftUI 2 中向 MapKit 添加 MapMarker

在 SwiftUI 中向 TextField/SecureField 添加图像,向占位符文本添加填充

SwiftUI - 如何在 macOS 上隐藏窗口标题

(SwiftUI, MacOS 11.0) 如何在 SecureTextFeild 中检测焦点?