我在我的应用程序中实现了一个'UIScrollView',如下所示:
scroller = [[UIScrollView alloc] initWithFrame:CGRectMake(59.0, 116, 180, 145)];
[scroller setBackgroundColor:[UIColor clearColor]];
[scroller setPagingEnabled:NO];
[scroller setScrollEnabled:NO];
[scroller setDelegate:self];
if (![scroller isDescendantOfView:MyUIView])
{
[MyUIView addSubview:scroller];
}
要滚动,我添加了一个'UIButton',其执行:
Y = Y + 200;
[scroller setContentOffset:CGPointMake(Y, 0) animated:YES];
NSLog(@"Scroll : %f", scroller.contentOffset.x);
在'模拟器'上,这有效!但是在设备上,scroller.contentoffset.x给了我一些随机值,所以移动我的内容真奇怪......模拟器和我的设备处于'发布'模式
我真的不明白为什么这不起作用,因为在先前的应用程序中,它运行得很好。
感谢您的帮助!
编辑:
做的时候:
[scroller setContentOffset:CGPointMake(Y, 0) animated:NO];
它可以正常工作
做的时候:
[scroller setContentOffset:CGPointMake(Y, 0) animated:YES];
它给了我随机值,并做了一些错误的事情
答案 0 :(得分:1)
尝试使用Scroll rect转换为可见方法
- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated
传递您感兴趣的矩形。还要确保已设置滚动视图的contentSize。
答案 1 :(得分:0)
我找到了解决方案,它看起来像是一个错误。 Here是解决方案。
[UIView animateWithDuration:.25 animations:^{
self.scrollView.contentOffset = ...;
}];