在本站之前的文章:《Leopard轻松编程-帮你节省代码》中介绍过,Leopard增加了一个新的NSGradient类,可以用于实现渐变效果。但是很不幸,iPhone SDK中并没有提供这个NSGradient类。那么如何在iPhone中实现渐变呢?本文将帮你解决这个问题。

我们知道,在Leopard出现之前,大家一直使用Chat Weider写的CTGradient类。
其实经过简单的改动,我们就可以在iPhone中使用这个CTGradient类。
Zac White修改了这个类将其用于iPhone,用法非常简单,你既可以使用CTGradient中内建的诸如aquaSelectedGradient等方法直接显示定义好的渐变效果,也可以自己指定CGColorRef类型的颜色值,使用fillRect方法进行渐变。
不过比较可惜的是Zac没有将fillBezierPath:方法也改成iPhone可用的,如果cocoachina的哪位读者有兴趣,可以自己修改一下(不过感觉挺麻烦的)。改好还请帮忙传到本站哈。:)
你可以在本站下载支持iPhone的CTGradient类。我只在Toolchain中测试过,想来官方的SDK应该也没问题。
发表评论