这个效果实际有3步:
1. 我们先绘制一层黑色文字
先将所有的标题放入一个数组中,self.array = [@"新闻",@"军事",@"政治",@"娱乐"]
在将所有的字体用黑色的富文本进行绘制
[string drawInRect:CGRect withAttributes:dictionary]
实现效果如下:
第二部 : 对红色字体进行绘制,将红色字体绘制到黑色字体的相同位置上。
这样红色字体就将黑色字体完全覆盖住
第三部 : 对红色字体进行剪切
在对红色字体剪切之前,要先设置一个view(橘黄色的小view) ,这个view的坐标随着我们内容部分的scrollView的偏移量的变化而变化。如图:
然后对上下文内容进行剪切 :
为了效果明显,我们将橘黄色的背景改成了透明色,并添加橘黄色边框。
剪切后的效果如下 :
end : 效果就这样搞定了,我们最后将边框也改成透明色就ok了。
源码地址 :https://github.com/guoxianlongw/PGScView