2016-04-21 63 views
0

对于原型,我期望创建一个不可见的交互区域。创建一个在swift中可互动的隐形视图

  • 如果我将alpha设置为0,则不能与它进行交互。
  • 如果将其设置为 隐藏,它也不会收到手势事件。
+0

怎么样_不创建视图,只是跟踪手势?只要你想显示它,你可以在你追踪的位置创建它。 – Darko

回答

3

你为什么要使用此视图,相反,你可以只使用方法UIButton并将帧设置为当前视图的帧&将其背景色设置为clearColor,如下所示,

self.invisibleButton.backgroundColor = [UIColor clearColor]; 

这将执行相同的操作&减少一些小工作,如添加“点按”手势并为视图设置一些属性(如果使用视图)。

+0

我想用clearColor更优雅,谢谢! – Pbk

0

我发现的最佳解决方案是将背景颜色设置为不可见的颜色。你看不到按钮,但你可以与它交互。

在init我把:

self.backgroundColor = UIColor.blueColor().colorWithAlphaComponent(0) 

有没有什么更好的方法来做到这一点?

0

创建一个UIView使用户交互和明确的背景颜色

UIView *viewsample=[[UIView alloc]init]; 
viewsample.frame= CGRectMake(0, 0, 200, 200); 
viewsample.backgroundColor= [UIColor clearColor]; 
viewsample.userInteractionEnabled=YES; 
[self.view addSubview:viewsample]; 

UITapGestureRecognizer *tapSkip = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(iviewsampleClicked:)]; 
[viewsample addGestureRecognizer:tapSkip]; 

调用时触及

-(void)iviewsampleClicked:(UIGestureRecognizer*)gesture{ 

}