【问题标题】:Create an invisible view that is interactable in swift创建一个可在 swift 中交互的不可见视图
【发布时间】:2016-04-21 03:47:13
【问题描述】:

对于原型设计,我希望创建一个不可见的交互区域。

  • 如果我将 alpha 设置为 0,您将无法与之交互。
  • 如果您将其设置为 隐藏,它也不接收手势事件。

【问题讨论】:

  • 创建视图并只跟踪手势怎么样?只要您想显示它,您就可以在您跟踪的位置创建它。

标签: ios swift hidden alpha invisible


【解决方案1】:

为什么要为此使用视图,相反,您可以只使用 UIButton 并将框架设置为当前视图的框架并将其背景颜色设置为 clearColor,如下所示,

self.invisibleButton.backgroundColor = [UIColor clearColor];

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

【讨论】:

    【解决方案2】:

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

    在我输入的 init 中:

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

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

    【讨论】:

      【解决方案3】:

      创建一个 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{
      
      }
      

      【讨论】:

        猜你喜欢
        • 2014-08-06
        • 1970-01-01
        • 1970-01-01
        • 2011-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-19
        相关资源
        最近更新 更多