Ios UIButton使用OpenGL进行子类化

时间:2011-10-09 04:55:50

标签: ios opengl-es uibutton

是否可以创建UIButton的子类,在OpenGL ES中进行按钮绘制?到目前为止,我有一个仅使用OpenGL ES的游戏应用程序,出于性能和美学原因,我不想在此基础上添加合成的UIkit元素。然后,我真的不想实现针对rects的触摸测试,因为正确地执行它,因为苹果对内部和外部rects和各种状态转换是相当多的代码。我真正想要的是让UIButton完成所有的触摸状态更改,但不做任何绘图,同时允许我使用OpenGL以及我的所有其他绘图代码在各种状态下自己绘制按钮。有关如何进行的任何建议或代码示例?

1 个答案:

答案 0 :(得分:0)

我发现这个问题的一个答案是使用UIButton但使用自定义样式。然后,如果您没有为按钮状态设置实际图像,它根本不会绘制任何内容,但在您提供的矩形中检测到所需操作时,通过回调您仍然可以作为按钮。这样,您可以将GLES纹理的区域设置为按钮。触摸或释放按钮时,无论是否有动作,都可以获得回调,如果需要,您可以自己更新纹理以响应这些。但是最后我没有这样做,只是按照普通的UIKit使用自定义按钮和图像。我没有在OpenGL ES上使用UIKit发现我的应用程序有任何过度减速。