HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – 确定屏幕上的点是否在特定的UIScrollView子视图内大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
UIScrollView包含几个UIView对象;如何判断屏幕上不是由触摸产生的点是否在scrollview的特定子视图内?到目前为止,无论如何,确定点是否在子视图中始终返回父滚动视图的子视图数组中的第一个子视图,即坐标是相对于scrollview而不是窗口.

这是我试过的(编辑)

-(UIView *)viewVisibleInScrollView 
{ 
    CGPoint point = CGPointMake(512,384); 
    for (UIView *myView in theScrollView.subviews) 
    { 
        if(CGRectContainsPoint([myView frame],point)) 
        { 
            NSLog(@"In View"); 
            return myView; 
        } 
    } 
    return nil;
}

解决方法

看起来你的点是相对于窗口,你想要它相对于当前视图. convertPoint:fromView:应该帮助这个.

这里可能有错误,但它应该是这样的

-(UIView *)viewVisibleInScrollView 
{ 
    CGPoint point = CGPointMake(512,384); 
    CGPoint relativePoint = [theScrollView convertPoint:point fromView:nil]; // Using nil converts from the window coordinates.
    for (UIView *myView in theScrollView.subviews) 
    { 
        if(CGRectContainsPoint([myView frame],relativePoint)) 
        { 
            NSLog(@"In View"); 
            return myView; 
        } 
    } 
    return nil;
}

大佬总结

以上是大佬教程为你收集整理的iphone – 确定屏幕上的点是否在特定的UIScrollView子视图内全部内容,希望文章能够帮你解决iphone – 确定屏幕上的点是否在特定的UIScrollView子视图内所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。