【问题标题】:iOS - Make only subview clickableiOS - 仅使子视图可点击
【发布时间】:2013-11-05 13:47:09
【问题描述】:

我正在尝试制作自定义对话框视图。我已经走了很远,但是有一个问题。当我的对话框弹出时,我可以按下它后面的文本字段。如何确保用户只能在对话框视图存在时单击子视图?

【问题讨论】:

  • 对其他视图禁用 userInteraction,仅在您的对话框视图中启用交互。
  • 没有比单独禁用所有其他视图更好的解决方案吗?我不能只禁用包含视图中的所有内容并以某种方式启用一个子视图吗?

标签: ios objective-c dialog subview clickable


【解决方案1】:

简单的解决方案:当你显示对话框时创建视图

 CGRect viewBackFrame =  (CGRect){
        .origin = CGPointZero,
        .size = parentView.frame.size
    };
 UIView* viewBack = [[UIView alloc] initWithFrame:viewBackFrame];
 viewBack.backgroundColor = [UIColor clearColor];
 [parent insertSubview:viewBack belowSubview:dialog];

【讨论】:

    【解决方案2】:

    UIView 有一个名为 exclusiveTouch 的属性,它应该可以完成您想要实现的目标。将对话框的 ExclusiveTouch 属性设置为 YES 就可以了。

    链接到apple docs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 2012-12-03
      • 2017-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多