只能以编程方式滚动?

时间:2013-04-06 18:53:58

标签: ios objective-c uiscrollview

我不知道这是否有意义。我从界面构建器UIScrollView将其作为我的UIScrollView顶部的插座连接起来我有一个UIImage视图,其中包含一个名为Scroll Background的图像,它是屏幕空间中的额外一半 - 我的应用程序是风景,图像大约是屏幕的一半。图像也作为插座连接起来。按下按钮时,我在工具栏上有一个按钮调出键盘我想以编程方式滚动到UIImage视图的底部,当它被重新签名时,我想以编程方式滚动到顶部。我不希望用户能够滚动只是让应用程序以编程方式滚动。

我似乎无法使用此方法,我不确定原因:/

- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated 

1 个答案:

答案 0 :(得分:1)

在我看来,

scrollRectToVisible:animated:是一种非直观的方法。为了完成您的目标,您应该能够在userInteractionEnabled上将NO设置为UIScrollView,以防止用户滚动。

然后,为了以编程方式滚动视图,您可以调用scrollRectToVisible,但需要为其指定一个代表您要显示的区域的CGRect。所以在你的情况下滚动到顶部:

CGRect visibleFrame = CGRectMake(0, 0, CGRectGetWidth(self.view.bounds) , CGRectGetHeight(self.view.bounds));

[self.myScrollView scrollRectToVisible:visibleFrame animated:YES];

希望这有帮助!