gpt4 book ai didi

ios - 如何让剪辑 View 在 iOS 中接收触摸事件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:45:20 26 4
gpt4 key购买 nike

当 UITableView 不完全适合其父 View 时,被裁剪的部分不可滚动。您只能滚动 TableView 及其父 View 的交集。我相信这种类型的事件处理问题会发生在 UIView 的任何组合中,而不仅仅是 TableView 。是否有我可以打开的属性或其他东西以允许剪裁区域仍然接受触摸事件?

 _______
| |
| ___|__
| |______|
| |______|
| |______|
|___|______|
|______|

这是一个相当简单的示例,说明如何实现上述布局。

UIView* parentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 150)];
UITableView* childView = [[UITableView alloc] initWithFrame:CGRectMake(50, 50, 100, 150)];
[self.view addSubview:parentView];
[self.parentView addSubview:childView];

最佳答案

最简单的做法是让您的父 View 覆盖 -pointInside:withEvent: 以检查该点是否在其 subview 内,如果在,则返回 YES。 (基本上,如果触摸发生在父 View TableView 中,则父 View 需要返回 YES)

类似于:

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
CGPoint pointInTableView = [tableView convertPoint:point fromView:self];
return [super pointInside:point withEvent:event] || [tableView pointInside:pointInTableView withEvent:event];
}

关于ios - 如何让剪辑 View 在 iOS 中接收触摸事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19058347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com