首先可以实现下划线效果,首先想到的是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或密码验证后点击“结束”即可退出。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)