如何在 Objective C 中的 UIScrollView 中禁用动画滚动?

Posted

技术标签:

【中文标题】如何在 Objective C 中的 UIScrollView 中禁用动画滚动?【英文标题】:How to disable the animation scrolling in a UIScrollView in Objective C? 【发布时间】:2017-01-17 11:57:50 【问题描述】:

我在滚动视图中加载了一个 pdf,我想直接进入下一页而不让动画滚动。

CGRect scrollViewRect = CGRectInset(viewRect, -scrollViewOutset, 0.0f);

theScrollView = [[UIScrollView alloc] initWithFrame:scrollViewRect]; // All
theScrollView.autoresizesSubviews = NO;
theScrollView.contentMode = UIViewContentModeRedraw;
theScrollView.showsHorizontalScrollIndicator = NO; 
theScrollView.showsVerticalScrollIndicator = NO;
theScrollView.scrollsToTop = NO;
theScrollView.delaysContentTouches = NO;
theScrollView.pagingEnabled = YES;
theScrollView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
theScrollView.backgroundColor = [UIColor clearColor];
theScrollView.delegate = self;

[self.view addSubview:theScrollView];

有可能吗?

【问题讨论】:

用户是否可以滚动或者您也想停止用户交互? 我只是想删除动画,用户仍然可以交互。他可以转到下一页,转到上一页,等等...... 你检查我的答案了吗?是否按预期工作? @Claudio 你不希望滚动视图在数据显示结束时反弹吗? @DarshanKunjadiya 我希望这个人在滑动时直接显示下一页而不进行动画滚动。 【参考方案1】:

您必须使用下面的方法通过下面的方法跳转到下一页的直接偏移量。

[objUIScrollView setContentOffset:CGPointMake(YOUR_X, YOUR_Y) animated:NO]

animated = NO;

如果您通过 WebView 加载 PDF,则需要遵循以下代码:

webview.scrollView.contentOffset = CGPointMake(YOUR_X, YOUR_Y);

注意:在您的 Next Button 页面或加载后使用上面的代码 WebView 可能在下面的方法中。

- (void)webViewDidFinishLoad:(UIWebView *)webView


希望这会如您所愿。

【讨论】:

我尝试把它放在Viewdidload中,但似乎不起作用。可能我必须到处检查以确保我不会更改该值 所以您想在加载 PDF 时跳到下一页?或者你正在尝试别的东西? 这正是我想要的,在从右向左滑动时跳到下一页(就像我按下“下一步”按钮转到下一页)而没有看到下一页来自右边到左边。我想直接看下一页。 那么您所做的就是在网络视图中加载您的 PDF 吗?或者你正在使用CGPDFDocument ??【参考方案2】:

当然,只需使用:

[theScrollView scrollRectToVisible:CGRectMake(0.0f, 0.0f, 0.0f, 0.0f) animated:NO];

[theScrollView setContentOffset:CGPointMake(0.0f, 0.0f) animated:NO];

并将CGPointCGRect 更改为您喜欢的页面的偏移量。

【讨论】:

我试过了,但是好像不行,我总是看到页面从右到左的动画。

以上是关于如何在 Objective C 中的 UIScrollView 中禁用动画滚动?的主要内容,如果未能解决你的问题,请参考以下文章

objective-c 中如何在一个函数中调用自己类中的另外一个函数

如何获取嵌套在 UIView 中的 UIView 框架 - Objective C

如何在 Objective C 中的 Xcode 8 中设置约束

如何在Objective C中使用解析版本1.12.0加载PFQueryTableViewController中的对象?

从Objective C中的NSArray转换时如何比较String?

如何从 Objective C、iOS 中的 NSUserDefaults 获取准确数据?