滚动时在 UIPageController 中跟踪 frame.origin.x
Posted
技术标签:
【中文标题】滚动时在 UIPageController 中跟踪 frame.origin.x【英文标题】:Tracking frame.origin.x in UIPageController while scrolling 【发布时间】:2014-08-02 15:00:04 【问题描述】:我在这里使用标准 UIPageViewController
,我需要跟踪 x 坐标以便相应地更改图像的 alpha。我尝试像这样在UIPageViewController
中找到UIScrollView
,它可以工作:
for (UIView *view in self.pageViewController.view.subviews)
if ([view isKindOfClass:[UIScrollView class]])
[(UIScrollView *)view setDelegate:self];
但是当我这样做时:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
MTWPageContentViewController *pageContentVC = [self viewControllerAtIndex:_mainPageControl.currentPage];
NSLog(@"%f", pageContentVC.view.frame.origin.x);
NSLog
给我 0.000 这显然意味着我做错了什么。
pageContentVC
存在,它是我滚动时可见的视图控制器。
那么,告诉我如何在滚动时跟踪UIPageViewController
的子视图的x 坐标?
【问题讨论】:
【参考方案1】:您可以从UIPageViewController
获取手势识别器并将自己添加为目标/动作以获取有关平移的信息。
for (UIGestureRecognizer *gestureRecognizer in self.pageViewController.gestureRecognizers)
if ([gestureRecognizer isKindOfClass:UIPanGestureRecognizer.class])
[gestureRecognizer addTarget:self action:@selector(panned:)];
【讨论】:
谢谢!那么,如何使用手势识别器获取 x 坐标?以上是关于滚动时在 UIPageController 中跟踪 frame.origin.x的主要内容,如果未能解决你的问题,请参考以下文章