首页 文章

convertPoint toView没有获得屏幕上的绝对位置

提问于
浏览
3

我已经多次读过这个iPhone - Get Position of UIView within entire UIWindow和其他人,但是我无法让我的应用程序向我输出屏幕上某些内容的绝对位置 .

我有一个跳转的滚动视图,我正在试图找出原因 . 我希望能够检查它在屏幕上的位置(而不是相对于其超视图的帧) . 我尝试过以下方法:

CGPoint point = [scrollView.superview convertPoint:scrollView.frame.origin toView:nil];
NSLog(@"point is %f", point.y);

然而控制台显示0作为滚动视图的Y位置,尽管事实上滚动视图实际上并不存在于我的屏幕上,但它大约是故障的三分之一 . 这种方法不能在绝对的整个320x568屏幕中显示某些位置吗?我敢肯定它有点小,但是有人能指出我错过的东西吗?

2 回答

  • -1

    UIScrollView 有一个名为 contentOffset 的属性 . 如果你想知道绝对位置,你在滚动视图中输入'll want to take the position of the view (that'并减去滚动视图的 contentOffset .

  • 4
    UIView *parentview =  [[UIApplication sharedApplication] window].rootViewController.view
    CGPoint point = [parentview convertPoint:scrollView.frame.origin toView:nil];
    NSLog(@"point is %f", point.y);
    

相关问题