0

替代文字 http://www.davidhomes.net/question.gif

我对 iphone dev 非常陌生(我的空闲时间不到 3 个月),我正在开始开发我的第二个应用程序。

从图像中,我将一些 UIView 作为子视图添加到我的主 UIViewController.view,要添加的视图数量根据用户可选择的数据而有所不同。

每个视图包含几个控件、一个标签、一个 UITextField 和一个 Horizo​​ntal UIViewPicker。

为简单起见,我在这里放了一个(非常粗糙的)模型,只有两个按钮。

因为我想改进 GUI,所以我想覆盖一个 UIViewImage 作为添加的 UIView 的顶部子视图,就像在图像中一样。

问题在于将事件传递给它下面的对象。我在某处读过一种方法是使用剪裁,但实际形状比椭圆形框架更复杂。

在其他地方我读到可以添加四个 UIImages,每个边界一个,这将使事件通过这个洞。对我来说似乎是一个肮脏的解决方案(尽管我确信它会起作用)

关于最好的方法的任何想法?有在线教程或食谱的链接吗?

感谢您的帮助

谢谢大卫

4

1 回答 1

1

你看过协议吗?您可以为您的视图或对象定义协议,并且该对象的用户(例如下面的子视图)可以实现协议,将自己设置为对象委托,并且当操作发生时,他们将通过协议通知。所以例如

AboveView 将声明一个协议,该协议在该视图检测到某个手势时声明方法,例如 -(void)didMakeCircleGesture... 作为属性,underview 将具有一个委托,因此在您的方法中实际检测到该手势您将拥有最后像

[delegate didMakeCircleGesture];

反过来,委托是下面的视图或其他东西,它将符合AboveView定义的协议,作为其中的一部分,它必须声明方法didMakeCircleGesture,因此当一个人在AboveView中做一个圆圈手势时符合协议的底层视图将被告知该事件并可以采取适当的行动

于 2009-07-22T20:51:07.857 回答