【问题标题】:iPhone SDK allow touches to affect multiple viewsiPhone SDK 允许触摸影响多个视图
【发布时间】:2011-02-21 04:43:43
【问题描述】:

我有一个主视图,上面有两个按钮,用于控制显示下一个图像和显示上一个图像的方法。在这种情况下,“Image”是一个继承自 UIImageView 的类,上面有多个可以与之交互的图片,我称这个类为“Pane”。窗格本身处理所有用户交互,而主视图通过按钮控制下一个和上一个窗格的显示。这是我的困境,因为窗格完全覆盖了主视图,它不允许用户点击主视图上的按钮!因此,一旦弹出窗格,您就无法通过按钮对其进行更改!有没有办法允许通过视图的透明部分进行触摸,或者如果没有,我究竟如何实现这一点?!

我无法将 touchesBegan 或任何这些方法从窗格传递到超级视图,因为所有按钮触摸方法都是在 xib 文件中创建的。

我无法在控制面板下插入窗格,因为那样您将无法与窗格交互。据我所知,没有办法将触摸事件传递给属于主视图的 paneHoldingArray 中的每个窗格

我无法在窗格内添加命令按钮,因为我希望能够用下一个/上一个窗格的指纹渲染替换命令按钮的图像。

我已经被这个问题困扰了很长时间,请有人帮助我解决问题或重新设计代码的新方法,以便它能够正常工作!

【问题讨论】:

    标签: iphone view methods touch


    【解决方案1】:

    如果您希望按钮捕获事件,则将它们放在窗格上方。您说您不能将控制面板放在窗格上方,因此将按钮拆分为可以放在窗格上方的另一个视图。如果您希望按钮出现在其他视图下,请制作一些完全透明的自定义按钮来处理您可以叠加在上面的操作。

    我不知道您在 xib 文件中创建的按钮触摸方法是什么意思,但通常您无法有效地传递触摸事件。您必须组织视图层次结构,以便您希望接收事件的视图在逻辑上位于顶部。然而,并没有说顶部的视图必须是不透明的甚至是可见的。

    【讨论】:

    • 如果我将按钮拆分为另一个视图并将其放在窗格上方,我们现在会遇到与之前相同的情况,即您无法与窗格交互,因为新的按钮视图阻止了与其下方视图的交互
    • 所以你想通过同时与两个视图交互来触发两个动作?
    猜你喜欢
    • 2012-07-14
    • 1970-01-01
    • 2017-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多