可可触摸看有多个相同的有关子视图处
-
20-09-2019 - |
题
我有我的第一次进军的可可触摸的编程(和我的第一个成可可豆的一般)和编写一个简单的游戏的iPhone,虽然这个问题是关于可可触摸一般。
主UI包括一条相同的作用的按钮(仅在不同的颜色)配置水平。虽然他们的行为像个按钮他们需要有一个定制的绘制的外观。每个响应触摸事件中相同的方式,触发其他活动中的应用。
我想定一个定义来看,部分原因是有更多的控制权的行为不仅仅是具有一堆的标准按钮,部分要了解更多有关可可编程。
我应该定义的一个主要查看一系列有关子视图处的每一个提请本身并转发给触摸的活动? 每一个按钮应该做到标准的事情像显示按国家当接触等。是否有任何预先存在的容器视这种情况?
或者我应该只是定义的一个主要图绘制整个条和检测其中的一个触发生? 我觉得这是一个严重的工程设计办法的-我不应该编程击中测试的代码。
编辑,以澄清的问题
解决方案
更轻型的做法是添加层到你的)层。使用hitTest:派遣触动你会收到你)的CALayer实例,需要接受它。
如果你需要更多的UIResponder行为(touchesBegan等), 你可能会想要去与有关子视图处而不是子层,因为这会让你来处理的事件直接的对象,而不是具有派遣他们从中央应答者(主)).
因此,重要的位可以是多么多的行为相关联的你个人的按钮应该已知的(处理)通过你主要的).如果很有意义的一切控制从一个中心位置,可以把所有的逻辑),只是用子层轻型显示器目的。如果它让更多的感到放行进入的按钮自己,他们应该去可UIResponders并作为例子类)和待加入作为有关子视图处主要图。
其他提示
你应该利用一系列有关子视图处-这样每个"按键"类知道如何绘制本身及其相对于父(你说的"主观")的地方按钮在那里他们需要去的。
和第二NDA:只是谈谈。
如果你有一个很大的按钮和想做花哨的东西与他们,我建议使用 层.您)将处理解释,这层已经触摸(撞击测试)和 作出适当的反应。如果你正在做的是管理一个 大堆 按钮与各种各样的效果和动画,这可能是一个容易的路线。
因为坏的工程、没有。如果你看看相关的指南,你会看到的核心动画和层确实需要打测试(虽然这是相对容易的),但是它远远更清洁的比)做所有的绘图和效率更高的比许多有关子视图处.它溜之间的权利这两种做法很好。
全面披露:我只是包裹我头上,围绕如何最好地利用这个东西我自己,而是为更复杂的交互式的控制。
你可以你的布局图接口的建设者。简单地将一堆 UIButton
s在你看来控制器的观点。
应对事件、定义 IBAction
在你看来控制器和连接的按钮。
这是非常基本的。我真的建议那你至少走过的iPhone编程的介绍,苹果已经在线上。它会教你的iPhone和接口建设者基础。