【问题标题】:how to give background color for selected text in text view如何在文本视图中为选定文本提供背景颜色
【发布时间】:2018-03-14 17:24:42
【问题描述】:

如何在文本视图中为选定文本指定背景颜色?

我正在开发基于文本视图的应用程序,我必须更改所选文本的颜色。

我尝试使用委托方法,但没有找到任何这样的属性。您能否提出解决此问题的方法?

【问题讨论】:

    标签: iphone ios-simulator uitextview


    【解决方案1】:

    在 AppStore 限制内无法更改选择颜色。事实上,考虑到 MobileNotes.app 的选择背景颜色也是浅蓝色,尽管插入符号是棕色的,我们可以看到 Apple 并不打算允许非蓝色的选择背景颜色。

    不过,你可以计算出选区占用的矩形,然后在其上制作一个彩色透明的非交互 UIView 来模拟背景颜色的变化。


    您可以通过覆盖未记录的方法+[UIColor selectionTintColor](例如使用method_setImplementation等)全局(在您的应用程序内)更改选择颜色。 p>

    【讨论】:

    • 感谢您的回复。是的,我知道无法更改所选文本的文本视图中的背景颜色。但我的要求和上面一样。所以请向我提出如何解决我的要求的建议。
    • @madhu: "你可以计算选区占用的矩形,然后在它上面做一个彩色透明的非交互 UIView 来模拟背景颜色的变化。"
    • "是的,谢谢,我正在尝试这个,但是当文本视图处于编辑模式时如何计算矩形"
    • @madhu:通过-sizeWithFont:计算每个字符的边界,并累加直到选择结束。 (所有简单的方法都求助于未记录的方法。)
    【解决方案2】:

    通过使用自己的逻辑解决了问题。

    使用

    • (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

    • (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

    计算了我想要添加文本颜色的框架区域,然后点击完成创建自定义视图并在其上绘制文本,并选择不同颜色的 tetx 范围并保持正常。它还在继续……我正在维护 XML 文件中的所有值以读取/编辑数据。

    当我们想要编辑删除自定义视图的文本数据时,以及当我们退出 textView 时,添加带有 XML 文件中现有值的自定义视图。它的工作正常。

    感谢您对解决问题的所有支持。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-10
      • 1970-01-01
      • 2012-04-11
      • 1970-01-01
      • 2020-05-03
      • 2013-08-03
      相关资源
      最近更新 更多