iOS实现一段文字中部分有下划线,并且可以点击

iOS实现一段文字中部分有下划线,并且可以点击,第1张

项目中有一个需求就是实现一段文字中有几个特殊的字符可以有下划线,并且可以进行点击

首先可以实现下划线效果,首先想到的是UILabel和UITextView控件的 NSMutableAttributedString 属性,考虑到可能会有点击事件效果的实现,这里选择UITextView控件,因为UITextView有一个功能就是能通过NSRange获得文字的相应的Frame。

最终实现这种效果,带下划线的可以点击,点击可以设置背景颜色,也可以不设置背景颜色,可以设置下换线以及下划线上面文字的颜色。

1、首先创建UITextView类

2、ClickTextView类中声明点击回调的block,这里回调用block进行回调

3、介绍下主要的实现方法

1>、这个方法主要是将下划线对用的文字的frame,文字内容,点击效果背景颜色存储起来,以供点击的时候查询

2>、通过一个点击的点,去查找有没有点在下划线对用的文字范围内,并且返回之前打包<存储的字典>的数据模型

3>、通过touchesBegan的方法,获取点击的点,并且去查询相关数据模型,并且根据参数是不是展示相应的点击效果,并且通过blcok进行回调

4>、点击结束的时候取消点击效果,也就是删除点击的时候创建的view

5、在ViewController中进行测试

如有失误请各位路过大神即时指点,或有更好的做法,也请指点一二。

详情 Demo 可参考

扩展: iOS 设置下划线与文字之间的距离

本人了解到四种方法:label加载AttStr、label加载HTML、label加lineView、YYLabel加下划线。结论是最好的开胃菜,先说结论。

效果图如下:

1、打开手机,找到设置,找到“通用”选项,进入通用设置页面;

2、在通用设置中,点击“辅助功能”选项,进入详细设置;

3、辅助功能页面选择“降低透明度”选项;

4、把“降低透明度”功能打开,主界面的横条就消失了。

还有一种办法是利用引导式访问设置:

1、打开手机“设置”,找到“辅助功能”,下拉找到“引导式访问”开启;

2、打开“引导式访问”之后,可以在需要隐藏小横条的任意界面连按三次侧边按钮来启用该功能;

3、如果出现需要设置密码的提示,设置一个容易记住的密码;

4、成功进入“引导式访问”之后,小横条会被隐藏;

5、如果需要退出“引导式访问”,再连续按三次侧边电源键按钮,通过面容ID或密码验证后点击“结束”即可退出。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/8025981.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存