我有一个 a 的子类,UIView
它从 a 加载其内容xib
。我采用该视图并将其插入 a 的底部,UIViewController
它充当弹出菜单 - 有点像操作表。
在视图内部,我有视图、标题UIImageView
、背景UIImageView
和几个按钮,它们有效地位于背景图像的前面,它们IBActions
在UIView
子类中连接。
有了基本的UIViewController
,一切都很好,没有问题。使用视图动画它打开和关闭,并且您触摸按钮,它们会按预期触发。我在 a 前面弹出了这个UITableView
,效果很好。
当我包含UIViewController
aUINavigationController
或时会发生问题UITabbarController
,当按钮突然停止响应并且 UIView 上的任何触摸开始传递到 tableview 并选择它下面的 tableview 单元格时。
我尝试了以下方法来“控制触摸”。-exclusiveTouch
在背景上设置 = YES UIView
,图像查看按钮,但不影响触摸。- 在图像视图上验证已"user interaction"
禁用 - 尝试使用自定义按钮作为背景UIView
来捕获触摸(如 SO 中所建议的那样),但触摸也会通过它。- 试图在 中覆盖hitTest
,UIView
没有用
- 我的按钮,并且
tableview
是标准的子类。
注意:动画前后的视图大小 2013-04-17 07:20:03.975 FivePad[82813:c07] 弹出会打开
2013-04-17 07:20:03.975 FivePad[82813:c07] 父框架:{{0, 0}, {320, 411}}
2013-04-17 07:20:03.976 FivePad[82813:c07] 动画前的菜单帧:{{0, 381}, {320, 51}}
2013-04-17 07:20:04.276 FivePad[82813:c07] 弹出确实打开了
2013-04-17 07:20:04.276 FivePad[82813:c07] 动画后的菜单帧:{{0, 311}, {320, 51}}