4

在我的应用程序中,单击一个按钮会弹出一个 UIView,现在我想单击 UIView 之外的任何位置来关闭 UIView。
我试过在UIView下加个大透明按钮,调用按钮动作关闭UIView,但是按钮无法展开到全屏,因为顶部导航栏和底部tabbar
有什么其他方法可以实现吗?

4

1 回答 1

8

一个巨人UIButton它不是很好地解决你的问题。你可以简单地使用 a UIGestureRecognizer

您可以像这样分配一个:

UITapGestureRecognizer *tapImageRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self  action:@selector(dismissPopUp)];

然后,只需将手势添加到要响应所选选择器的视图中。

[self.view addGestureRecognizer:tapImageRecognizer];

可能还有其他人

[self.navBar addGestureRecognizer:tapImageRecognizer];
//etc

只是不要忘记实现手势识别器使用的方法

-(void)dismissPopUp
{
   //your dimiss code here
}
于 2013-09-07T22:23:09.510 回答