Selection Range in SwiftUI

在 SwiftUI 中,没有提供默认的 modifier 来监听 TextViewselectionRange

这对于文本编辑类 app 来说是很致命的,因为无法控制光标的位置,

但是可以从其他的文章中找到一些思路:

寻找 NSView / UIView 的方法来源于:siteline/SwiftUI-Introspect

本文来介绍一种解决方案,可以实现出以下的代码:

1
2
3
4
5
6
7
8
9
10
11
import SwiftUI

struct Example: View {
@State private var selectionRange = NSRange()
@State private var text = ""

var body: some View {
TextEditor(text: $text)
.selectionRange($selectionRange)
}
}
阅读更多

MarkdownView 从 0 到 1 —— 回顾整条时间线

熟悉我的朋友应该知道,我一直在开发一个框架,

用于在 SwiftUI 中以原生的方式来渲染 Markdown 文本。

P.S. 这篇文章也是在我做的编辑器中完成的。

早晨发布了 MarkdownView1.0.0-rc,也就是正式版的候选版本,

写这篇文章主要是想回顾和总结一路过来的技术点和一些解决方案。

阅读更多
order-3">