假设我们有一个带有一个子视图的视图控制器.子视图占据屏幕中心,四周边距为100 px.然后我们在子视图中添加一些小东西来点击.我们只使用子视图来利用新帧(子视图中的x = 0,y = 0实际上是父视图中的100,100).
然后,假设我们在子视图后面有一些东西,比如菜单.我希望用户能够在子视图中选择任何"小东西",但如果没有任何东西,我希望触摸通过它(因为背景是清晰的)到它后面的按钮.
我怎样才能做到这一点?它看起来像touchesBegan,但按钮不起作用.
我有一个UIView
被部分卡下方的UINavigationBar
上UIViewController
这是在全屏模式下.的UINavigationBar
块这个视图,它的覆盖它的部分的触摸.我希望能够解锁这些视图并让它们通过.我已经使用以下内容将UINavigationBar子类化:
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
UIView *view = [super hitTest:point withEvent:event];
if (view.tag == 399)
{
return view;
}
else
{
return nil;
}
}
Run Code Online (Sandbox Code Playgroud)
...我用数字399标记了有问题的视图.是否有可能通过这个视图的触摸而没有指向它的指针(就像我在上面标记它一样)?对于如何使用hittest方法(或者甚至可能)进行此操作,我有点困惑.
我有一个容器视图完全覆盖另一个UIView.容器视图具有透明度以及一些其他内容(搜索栏,表格视图等).我希望触摸事件通过容器视图,并在事件发生在透明区域时影响下面的视图.
我一直在搞乱容器视图的子类.我正在尝试使用pointInside:方法根据上述标准(透明容器视图)返回YES或NO.我的问题是据我所知,我只能访问容器视图子视图,而不是容器视图下面的视图.
我目前一直在使用一种非常低效的方法来读取触摸的像素alpha.这样做最好的方法是什么?