Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 为什么我不能将UIScrollView传递给另一个类进行滚动_Ios_Objective C_Uiscrollview - Fatal编程技术网

Ios 为什么我不能将UIScrollView传递给另一个类进行滚动

Ios 为什么我不能将UIScrollView传递给另一个类进行滚动,ios,objective-c,uiscrollview,Ios,Objective C,Uiscrollview,我一直在努力保持UIViewController的干净,为此,我将以太类的责任交给了它 当我试图将我的UIScrollView传递给另一个类,以便从一个更大的方法中滚动它时,它无法工作 //Main UIViewController: -(void)scrollToOffset { //MainScrollVCModel has this class method that i call self.scrollView = [MainScrollVCModel tempScroll

我一直在努力保持UIViewController的干净,为此,我将以太类的责任交给了它

当我试图将我的UIScrollView传递给另一个类,以便从一个更大的方法中滚动它时,它无法工作

//Main UIViewController:
-(void)scrollToOffset
{
  //MainScrollVCModel has this class method that i call
     self.scrollView = [MainScrollVCModel tempScrollTo:self.scrollView];
}

//MainScrollVCModel:
+(UIScrollView *)tempScrollTo: (UIScrollView *)scrollView
{
[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
    [scrollView setContentOffset:CGPointMake(0, 300)];
} completion:^(BOOL finished) {
}];
    return scrollView;
}
为什么这不起作用?正确的方法是什么?
谢谢

当您这样做时会发生什么为什么要在setContentOffset:上使用视图动画?它不是可设置动画的视图属性,并且已经设置了动画。为什么不将所需的偏移传递给此方法?您总是滚动到同一点。为什么您从类方法返回滚动视图,然后将其丢弃?当您在控制器中运行它时,相同的代码是否有效?就我所能看到和理解的而言,它应该有效。但是我有一种感觉,您不应该将用于操纵的滚动视图传递给另一个类。您应该从另一个类中获取参数,例如到scroo的偏移量,并从滚动视图所属的视图控制器中获取实际滚动。尽管如此,它还是应该起作用的。一定是出了什么事。