我正在尝试设计如何实现一个相对简单的应用程序。
我想创建一个网格的‘正方形’,覆盖整个屏幕。每个方块都应该具有响应触摸事件的能力,然后具有开/关状态。例如,如果我触摸一个“关闭”方块,然后将手指拖到其他10个方块上,我希望它们都打开。反之亦然。
我不确定仅仅创建一个包含150个按钮的网格的内存开销。另外,据我所知,按钮没有可设置的状态。我还在考虑将UIView子类化并实现UIResponder方法。感觉我应该创建一个按钮数组(或UIViews的子类),但我不确定这是否可行。
我假设我可以通过从UIResponder方法中获取触摸事件的位置来判断我所在的位置。我是否需要通过继承UIView来创建自己版本的myButton,并拥有一个开/关状态属性以及UIResponder方法,然后创建一个myButtons数组?
发布于 2009-04-15 20:30:06
除非您需要更多的UIView事件处理功能,否则使用单个视图并为其提供-touchesBegan:withEvent、-touchesMoved和-touchesEnded方法将获得最佳性能。然后使用自定义的drawRect方法在打开或关闭状态下绘制单独的方块。您也可以使用层,但尝试布局150个视图是自找麻烦。
https://stackoverflow.com/questions/753297
复制相似问题