我故意在视图容器中放置了 2 个视图(表视图),它们部分重叠。视图 B 与视图 A 的大约 50% 重叠。
当我以编程方式移动视图 B 使其不再重叠时,视图 A 中先前重叠的区域不会响应触摸事件,也就是说,约 50% 不会。只有最初没有重叠的区域才会这样做。此外,在视图 B 中,现在在父视图中占据新空间的部分不响应触摸事件,只有恰好占据旧区域的视图部分。
我用来移动视图的代码很简单:
UIView* viewB = [self.childViewControllers.lastObject view];
CGRect rect = viewB.frame;
rect.origin.x += 200;
[UIView animateWithDuration:0.2 animations:^{
viewB.frame = rect;
}];
从视觉上看,视图会移动,但触摸区域不会。
我在 iOS 6 中使用了新的故事板“容器视图”机制来最初放置视图。
我不知道为什么会这样。有任何想法吗?
谢谢。