使用 SwiftUI,选择文本时没有 cursor?

2022-03-23 17:34:11 +08:00
 sillydaddy

Text("some text") .textSelection(.enabled)

文本倒是能选择了,长按文本,只弹出了一个气泡菜单,有 2 个选项:Copy | Share

不过,如果我只想选择里面的部分文本呢?比如“some”。为什么没有可以左右移动的 cursor ,让用户手动选择呢?

是不是有什么配置项?或者还要自己封装 UIView ?

7123 次点击
所在节点    iDev
9 条回复
internelp
2022-03-23 17:44:22 +08:00
SwiftUI 经常能发现问题
sillydaddy
2022-03-23 18:09:37 +08:00
看了下 TextField 是否能当作 Text 的替代品。因为 TextField 在选中文本时,有那个 cursor 指示器。
但是,当你把 TextField 的 edit 功能禁用时(通过.disable()修饰器),选择文本的功能也同时不能用了。是挺蛋疼的。

论坛里也有问到这个: https://developer.apple.com/forums/thread/658046
iyeatse
2022-03-23 20:57:30 +08:00
sillydaddy
2022-03-23 21:01:22 +08:00
@iyeatse
嗯,我也看到了。
第一个方案就是我在主题里提到的,不显示 cursor 。
第二个方案是封装 UIView 。
还没试第二个。。
raykle
2022-03-23 21:09:25 +08:00
跟 SwiftUI 没关系,iOS 就是这样的
goldenlove
2022-03-24 16:33:36 +08:00
TextEditor(text: .constant("hello world"))

曲线救国,比 TextField 稍好点
要效果好可能还是得 UIView 封装
flyff1991
2022-03-25 14:04:08 +08:00
已经将新技术投入生产了吗
sillydaddy
2022-03-25 16:20:02 +08:00
@flyff1991 在摸索中前行。是个人项目,感觉学起来比较容易。
flyff1991
2022-03-25 17:21:05 +08:00
@sillydaddy 上架的还是开源的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/842420

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX