And*_*ris 5 uitextfield nsattributedstring ios textkit swift
这更多的是如何实现这一目标的问题,而不是具体的解决方案。我想要一个标签,允许按钮和文本字段内联并换行到下一行。一个示例是 iOS 快捷方式应用程序,您可以在其中键入文本所在的同一块,并且文本字段会沿同一行换行。它是一个文本字段,因为有一个插入符号。
从高层次来看,它可能看起来像这样:
其中每个视图都遵循该线并在需要时换行到下一个视图。
我最初考虑使用带有样式链接的 NSAttributedString,该链接可以充当按钮,也可以打开文本字段进行输入。我尝试了这个并得到了一些有效的东西,但它与 iOS 快捷方式应用程序不同,其中文本字段位于文本中。我也考虑过使用 textkit,但我还没有做到这一点,因为我不确定这是正确的方法。
感谢您提供任何想法或解决方案。
我想过另一种方法来实现这一目标,但我不知道它是否有效。这个想法是使用文本字段的集合视图。某些文本字段将共享相同的 LayoutManager,以便文本在文本字段之间共享。我必须计算要创建多少个文本字段,以便它们沿着 collectionView 流动
在图像中,Label 1由 1 个禁用编辑的文本字段组成。TextField 1由 3 个启用编辑的文本字段组成,并且这三个文本字段将共享相同的 LayoutManager。Label 2由 2 个带有共享布局管理器的文本字段组成,但禁用编辑。
使用这种方法意味着计算为每个“块”(标签或文本字段)创建多少个文本字段,并在每次内容更改时更新它。通过这种方法,我只考虑标签和文本字段,但可以在其他时间添加按钮。
我刚刚开始这样做,但意识到共享布局管理器会禁用编辑,所以我不知道这是否可以再实现。
谢谢
这肯定是一项不平凡的任务,而且我认为没有现成的解决方案。
使用NSLayoutManager您可以计算文本的每一行/字符的帧,然后根据这些帧禁止触摸,并在可编辑文本下添加背景。
你必须使用UITextView,因为你需要禁止用户选择部分文本,你可以使用willChangeSelectionFromCharacterRange:toCharacterRange:委托方法来做到这一点,并且你需要shouldChangeTextIn:来禁止删除不可编辑的文本。
| 归档时间: |
|
| 查看次数: |
394 次 |
| 最近记录: |