我有一个pageViewController
- 我想在其后面添加一个带有图片视图的滚动视图,当我在pageViewController
中滚动页面时 - 背景应该向同一方向滚动但是低见。我在故事板中使用auto-layout
:
所以我添加了pageViewController:
pageController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll
navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal
options:nil];
pageController.delegate = self;
pageController.dataSource = self;
[self addChildViewController:pageController];
CGRect pageFrame = self.view.frame;
pageFrame.origin.y += 50.f;
pageFrame.size.height -= 50.f;
pageController.view.frame = pageFrame;
pageController.view.backgroundColor = [UIColor clearColor];
[self.view addSubview:pageController.view];
获取它的scrollview:
for (UIView *possibleScrollView in pageController.view.subviews) {
if ([possibleScrollView isKindOfClass:[UIScrollView class]]) {
((UIScrollView *)possibleScrollView).delegate = self;
}
}
并聆听其代表:
- (void) scrollViewDidScroll:(UIScrollView *)scrollView
{
NSLog(@"%f", scrollView.contentOffset.x);
[parlaxScrollView setContentOffset:CGPointMake(scrollView.contentOffset.x * .2f, scrollView.contentOffset.y) animated:NO];
}
当我滚动到第二页时,我有一些令人困惑的结果:
378.500000
386.500000
403.500000
419.000000
448.000000
469.000000
...
747.000000
750.000000
375.000000 ///!!!!!THE CONTENT OFFSET RETURNED TO THE INITIAL VALUE!!!!!
为什么我的内容视图偏移重置?它有什么问题吗?
答案 0 :(得分:0)
我认为你需要跟踪当前正在显示的页面,并将宽度添加到内容偏移量。
这样的事情: let currentPage:Int
答案 1 :(得分:0)
5年后,抱歉耽搁sorry 也许其他人仍然会遇到同样的问题。
您不应更改页面视图控制器的滚动视图的委托。它可以破坏其正常行为。
相反,您可以:
向页面视图控制器的视图添加平移手势:
pd.concat([df, df_to_append], ignore_index=True)
添加新功能以了解视图如何滚动。
let panGesture = UIPanGestureRecognizer(target: self, action: #selector(panRecognized(gesture:)))
view.addGestureRecognizer(panGesture)
panGesture.delegate = self
将您的ViewController声明为@objc func panRecognized(gesture: UIPanGestureRecognizer) {
// Do whatever you need with the gesture.translation(in: view)
}
。
实现此功能:
UIGestureRecognizerDelegate