我已多次阅读此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屏幕中显示某些位置吗?我确定它很小,但是有人能指出我错过的东西吗?
答案 0 :(得分:4)
UIScrollView
有一个名为contentOffset
的属性。如果你想知道绝对位置,你需要获取视图的位置(在滚动视图中)并减去滚动视图的contentOffset
。
答案 1 :(得分:-1)
UIView *parentview = [[UIApplication sharedApplication] window].rootViewController.view CGPoint point = [parentview convertPoint:scrollView.frame.origin toView:nil]; NSLog(@"point is %f", point.y);