gpt4 book ai didi

ios6 - UIPageViewController 禁用滚动

转载 作者:行者123 更新时间:2023-12-04 02:43:54 27 4
gpt4 key购买 nike

我正在使用带有 transitionStyle 的 UIPageViewController UIPageViewControllerTransitionStyleScroll和导航定位UIPageViewControllerNavigationOrientationVertical
我也有 UIPanGestureRecognizer在 View 上,我想在平移手势处于事件状态时禁用页面滚动。

我试图在手势开始时设置以下内容:

pageViewController.view.userInteractionEnabled = NO;

这似乎没有效果,或者它似乎偶尔起作用。

我发现的唯一另一种方法(有效)是在平移手势运行时将 UIPageViewController 数据源设置为 nil,但是这会在重置数据源时导致巨大的延迟。

最佳答案

UIPageViewController 使用一些 UIScrollView 对象来处理滚动(至少对于 transitionStyle UIPageViewControllerTransitionStyleScroll )。您可以通过 Controller 的 subview 进行迭代 pageViewController.view.subviews为拿到它,为实现它。现在,您可以轻松启用/禁用滚动:

- (void)setScrollEnabled:(BOOL)enabled forPageViewController:(UIPageViewController*)pageViewController
{
for (UIView *view in pageViewController.view.subviews) {
if ([view isKindOfClass:UIScrollView.class]) {
UIScrollView *scrollView = (UIScrollView *)view;
[scrollView setScrollEnabled:enabled];
return;
}
}
}

关于ios6 - UIPageViewController 禁用滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13373531/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com