我即将将我的五合一客户端移植到 iOS 平台。最初我是用Java设计的。有 15*15 个字段需要显示。在 PC 上,我用单独的对象表示字段,这些对象只对自己负责(事件处理等)。我不确定在移动平台上做同样的事情是否是个好主意(我的意思是使用 225 个手势识别器听起来不太有希望)。还有另一种方法将所有这些字段合并到一个大 View 中,该 View 通过对屏幕坐标进行一些数学运算来负责绘图和事件处理。我个人更喜欢第一种方法,因为它更基于 OO。你认为,如果性能是主要的,我应该在 iOS 上更喜欢哪一个?提前致谢!
Best Answer-推荐答案 strong>
如果性能是主要的,您可以使用自定义绘制 View ,使用 UIGestureRecognizer获取 CGPoint 并仅使用 UIView 重绘受影响的区域(正方形) :
- (void)drawRectCGRect)rect
做这个数学很简单。
但是,根据控件和每个单元格的复杂性,该代码可能难以维护。创建一个带有 subview 的分层控件,其中每个 subview 负责它如何绘制、处理手势等……更易于维护,代码最终会更干净。会不会有更多的开销?是的。这会是个问题吗?可能不会。因此,您需要尝试并测量。使用 subview 创建聚合 View 是很常见的,每个 subview 都知道如何绘制和处理手势——这就是 cocoa touch 的全部意义所在。
关于iphone - iOS 棋盘游戏架构,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/11383628/
|