【发布时间】:2016-04-21 03:47:13
【问题描述】:
对于原型设计,我希望创建一个不可见的交互区域。
- 如果我将 alpha 设置为 0,您将无法与之交互。
- 如果您将其设置为 隐藏,它也不接收手势事件。
【问题讨论】:
-
不创建视图并只跟踪手势怎么样?只要您想显示它,您就可以在您跟踪的位置创建它。
标签: ios swift hidden alpha invisible
对于原型设计,我希望创建一个不可见的交互区域。
【问题讨论】:
标签: ios swift hidden alpha invisible
为什么要为此使用视图,相反,您可以只使用 UIButton 并将框架设置为当前视图的框架并将其背景颜色设置为 clearColor,如下所示,
self.invisibleButton.backgroundColor = [UIColor clearColor];
这将执行相同的操作并减少一些小工作,例如添加点击手势和为视图设置一些属性(如果您使用 View)。
【讨论】:
我发现的最佳解决方案是将背景颜色设置为不可见的颜色。您看不到按钮,但可以与之交互。
在我输入的 init 中:
self.backgroundColor = UIColor.blueColor().colorWithAlphaComponent(0)
有没有更好的方法来做到这一点?
【讨论】:
创建一个 UIView 启用 userInteraction 并清除背景颜色
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{
}
【讨论】: