如果 UIButton 的位置超出其父视图但它是可见的,它可以响应触摸事件吗?

Posted

技术标签:

【中文标题】如果 UIButton 的位置超出其父视图但它是可见的,它可以响应触摸事件吗?【英文标题】:Can a UIButton response to touch event if it's position is out of its superview, but it is visible? 【发布时间】:2011-10-14 09:37:36 【问题描述】:

如果 UIButton 的位置超出其父视图但它是可见的,它能否响应触摸事件?

UIView *view01 = [[UIView alloc] initWithFrame:CGRectMake(0,0,200,200)];
UIButton *button01 = [UIButton buttonWithStyle:UIButtonType:UIButtonTypeRoundedRect];
[button01 addTarget:self action:@selector(testTouch:) forControlEvents:UIControlEventTouchUpInside];
button01.frame = CGRectMake(0, 200, 60, 40);
[view01 addSubview:button01];

- (void)testTouch:(id)sender
  NSLog(@"Touched.....");

…………

【问题讨论】:

【参考方案1】:

您还需要将view01 添加到视图中。

【讨论】:

对不起,我没有清楚地描述这个问题。我已经将 view01 添加到视图添加可以显示它们。但是 button01 (0, 200, 60, 40) 不在 view01 (0,0,200,200) 范围内,所以我无法得到响应。

以上是关于如果 UIButton 的位置超出其父视图但它是可见的,它可以响应触摸事件吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何使 UIButton 悬垂在父视图上并仍然使其全部可选?

滑块上的拇指不动

UIView 下的 UIButton 不应该是可点击的

UIButton 的图像使用滚动视图滚动,但它的动作/方法保持在原始位置

UIBUTTON 和选择器视图

如何在没有 Interface Builder 的情况下将 UIButton 对象的中心约束到其父视图