菜鸟教程小白 发表于 2022-12-12 19:22:42

ios - 如何更改 UITextView 超链接选择背景颜色?


                                            <p><p>我正在使用 UITextView 来选择主题标签。它可以完美地检测水龙头。我的问题是选择颜色。它看起来是黑色的,我希望文本在选择时淡化一点。
这是我现在得到的:</p>

<p> <a href="/image/WYgbC.png" rel="noreferrer noopener nofollow"><img src="/image/WYgbC.png" alt="screenshot"/></a> </p>

<p>我尝试过更改 <code>tintColor</code>、<code>NSForegroundColorAttributeName</code> 和 <code>NSBackgroundColorAttributeName</code>,但它不起作用。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>对于检测到的链接的选定或突出显示颜色没有记录属性,但您应该能够通过覆盖委托(delegate)方法 <code>textView:shouldInteractWithURL:inRange:</code> 并更改颜色来实现相同的效果自己。</p>

<p>来自 <a href="https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextViewDelegate_Protocol/#//apple_ref/occ/intfm/UITextViewDelegate/textView:shouldInteractWithURL:inRange:" rel="noreferrer noopener nofollow">UITextViewDelegate</a>协议(protocol)引用:</p>

<blockquote>
<p>The text view calls this method if the user taps or long-presses the
URL link. Implementation of this method is optional. By default, the
text view opens the application responsible for handling the URL type
and passes it the URL. You can use this method to trigger an
alternative action, such as displaying the web content at the URL in a
web view within the current application.</p>
</blockquote>

<p>最后一个参数是一个名为 <code>characterRange</code> 的 NSRange 对象,它表示包含被点击的 URL(或主题标签)的字符范围。使用该范围,您应该能够添加诸如 <code>NSForegroundColorAttributeName</code> 之类的属性,以便仅更改被点击的特定主题标签的颜色。</p>

<p>您可能希望恢复对 <code>touchesEnded</code> 和 <code>touchesCancelled</code> 的任何更改。</p>

<p>或者,您可以 <a href="https://stackoverflow.com/a/29481954/5352503" rel="noreferrer noopener nofollow">make your own subclass and manually handle the above</a> .</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何更改 UITextView 超链接选择背景颜色?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/36596010/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/36596010/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何更改 UITextView 超链接选择背景颜色?