如何在 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];
并将CGPoint
或CGRect
更改为您喜欢的页面的偏移量。
【讨论】:
我试过了,但是好像不行,我总是看到页面从右到左的动画。以上是关于如何在 Objective C 中的 UIScrollView 中禁用动画滚动?的主要内容,如果未能解决你的问题,请参考以下文章
objective-c 中如何在一个函数中调用自己类中的另外一个函数
如何获取嵌套在 UIView 中的 UIView 框架 - Objective C
如何在 Objective C 中的 Xcode 8 中设置约束
如何在Objective C中使用解析版本1.12.0加载PFQueryTableViewController中的对象?