不幸的是,iOS 缺乏 MacOSX 中可用的 Core Image 框架,而它是所有这些美丽效果的来源。可以使用 Core Graphics 遮罩裁剪功能重新创建 UITabBar 效果(参见示例
void CGContextClipToMask (
CGContextRef c,
CGRect rect,
CGImageRef mask
);
Run Code Online (Sandbox Code Playgroud))。这是可能的,因为遮罩基于图像 Alpha,并且所有选项卡栏按钮都是基于 Alpha 的(尝试在选项卡栏中添加不基于 Alpha 的图像,您将看到最终效果...)。最后你可以看看GL图像处理XCode 文档或此处包含的示例:这解释了如何使用 OpenGL ES 1.1 进行一些基本图像处理(顺便说一句,此示例包含一些基本纹理和渲染方法,您可以重用这些方法以将任何 OpenGL 视图集成到基于 UIKit 的应用程序中)。