大佬教程收集整理的这篇文章主要介绍了ios – 当contentOffset设置为负值时,在tableview上无法识别触摸,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
- (void) scrollViewDidScroll:(UIScrollView *)scrollView { if(scrollView.contenTinset.top + scrollView.contentOffset.y < -30.0f) { [scrollView setContentOffset:CGPointMake(1.0f,-30.0f)-scrollView.contenTinset.top animated:NO]; } }
因此,当用户向上滚动并进入表视图中的负空间时,当它们释放时,它们仍然可以看到我在y = -30处插入的视图,以便表格不会“快照”回到0.
这一切都完全像我想要的那样.但是,当表的contentOffset设置为负y值时,例如[scrollView setContentOffset:CGPointMake(1.0f,-30.0f)-scrollView.contenTinset.top animated:NO],则在我的两个单元格上都无法识别触摸表,也不是我直接插入表中的视图.我想知道如何将contentOffset设置为这样的值,并且仍然具有我的tableView的子视图,以及单元格,注册触摸.
如果您仍想使用您概述的方法,则需要在UITableView子类中覆盖hitTest:withEvent:
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { if (CGRectContainsPoint(self.theViewInQuestion.frame,point)) { return self.theViewInQuestion; } return [super hitTest:point withEvent:event]; }
默认情况下,iOS视图不响应其边界之外的触摸,因此代码所做的是告诉事件处理系统您认为ViewInQuestion在表内部,即使它位于原点之外且超出范围.
如果你想要更多细节,“Event handling for iOS – how hitTest:withEvent: and pointInside:withEvent: are related?”对于系统如何工作有一些很好的答案.
以上是大佬教程为你收集整理的ios – 当contentOffset设置为负值时,在tableview上无法识别触摸全部内容,希望文章能够帮你解决ios – 当contentOffset设置为负值时,在tableview上无法识别触摸所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。