【问题标题】:Tracking frame.origin.x in UIPageController while scrolling滚动时在 UIPageController 中跟踪 frame.origin.x
【发布时间】: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 坐标?

【问题讨论】:

    标签: cocoa-touch uiscrollview uikit uipageviewcontroller


    【解决方案1】:

    您可以从UIPageViewController 获取手势识别器并将自己添加为目标/动作以获取有关平移的信息。

    for (UIGestureRecognizer *gestureRecognizer in self.pageViewController.gestureRecognizers) {
      if ([gestureRecognizer isKindOfClass:UIPanGestureRecognizer.class]) {
        [gestureRecognizer addTarget:self action:@selector(panned:)];
      }
    }
    

    【讨论】:

    • 谢谢!那么,如何使用手势识别器获取 x 坐标?
    猜你喜欢
    • 2016-07-17
    • 1970-01-01
    • 2013-07-21
    • 2013-05-25
    • 1970-01-01
    • 2021-01-10
    • 2015-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多