
这个效果实际有3步:
1. 我们先绘制一层黑色文字
先将所有的标题放入一个数组中,self.array = [@"新闻",@"军事",@"政治",@"娱乐"]

在将所有的字体用黑色的富文本进行绘制
[string drawInRect:CGRect withAttributes:dictionary]

实现效果如下:

第二部 : 对红色字体进行绘制,将红色字体绘制到黑色字体的相同位置上。

这样红色字体就将黑色字体完全覆盖住

第三部 : 对红色字体进行剪切
在对红色字体剪切之前,要先设置一个view(橘黄色的小view) ,这个view的坐标随着我们内容部分的scrollView的偏移量的变化而变化。如图:

然后对上下文内容进行剪切 :

为了效果明显,我们将橘黄色的背景改成了透明色,并添加橘黄色边框。
剪切后的效果如下 :

end : 效果就这样搞定了,我们最后将边框也改成透明色就ok了。
源码地址 :https://github.com/guoxianlongw/PGScView
网友评论