Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.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,我已经看到了关于这方面的其他一些帖子,并尝试实施他们的建议,但我仍然有同样的问题。我有一个UIScrollView包含一个UIContentView,它依次包含各种标签和一个UIWebView。内容可以很好地滚动,但是对于屏幕来说太长了(设计上——这就是我使用滚动视图的原因)。当我的手指滑到屏幕顶部时,我需要放开手指并将手指移到底部以继续滚动。在我放开屏幕的那一刻,内容就反弹到顶部,从而抵消了我所做的滚动。这使得在更远的地方看不到剩余的信息 我知道我的UIContentView的高度大于最后一个

我已经看到了关于这方面的其他一些帖子,并尝试实施他们的建议,但我仍然有同样的问题。我有一个
UIScrollView
包含一个
UIContentView
,它依次包含各种标签和一个
UIWebView
。内容可以很好地滚动,但是对于屏幕来说太长了(设计上——这就是我使用滚动视图的原因)。当我的手指滑到屏幕顶部时,我需要放开手指并将手指移到底部以继续滚动。在我放开屏幕的那一刻,内容就反弹到顶部,从而抵消了我所做的滚动。这使得在更远的地方看不到剩余的信息

我知道我的
UIContentView
的高度大于最后一个对象的最大y值。我用一些NSLog语句验证了这一点,以打印出最后的y值。我还会错过什么?我已经制作了许多其他UIScrollView,所以我不知道我在这里忽略了什么

谢谢

- (void) viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];
    [self.scrollView layoutIfNeeded];
    self.scrollView.contentSize = self.contentView.bounds.size;
}

您不应该在
viewdilayoutsubview
中这样做。假设
contentView
具有固定的大小,并且没有被自动调整大小或被自动布局更改,那么您可以放置行

self.scrollView.contentSize = self.contentView.bounds.size;
viewDidLoad
方法中


layoutifneed
行没有任何作用,应该删除。

谢谢,但这不起作用。一旦我把那行移到
viewDidLoad
中,我就完全失去了所有的滚动能力。视图根本不会移动。我对这类事情的调试策略是在屏幕上放置一个按钮,然后记录
scrollView.frame
scrollView.contentSize
contentView.frame
,以响应按钮的按下。这将告诉您需要知道的一切,并保证在打印尺寸之前,所有布局代码都有机会完成。