我動態地添加滾動視圖中的一些觀點和增加滾動型的contentsize太多,但我想滾動了滾動在其高度的底部。滾動底部的滾動型編程 - iphone
scrollRectToVisible對我沒有幫助。它只是滾動到我的iPhone屏幕的可見視圖,但我想要達到滾動視圖的contentize的底部。
任何人都可以給我一些示例代碼?
感謝,
納維德·巴特這樣反而
我動態地添加滾動視圖中的一些觀點和增加滾動型的contentsize太多,但我想滾動了滾動在其高度的底部。滾動底部的滾動型編程 - iphone
scrollRectToVisible對我沒有幫助。它只是滾動到我的iPhone屏幕的可見視圖,但我想要達到滾動視圖的contentize的底部。
任何人都可以給我一些示例代碼?
感謝,
納維德·巴特這樣反而
使用的東西:
CGPoint bottomOffset = CGPointMake(0, [yourScrollView contentSize].height);
[yourScrollView setContentOffset:bottomOffset animated:YES];
如果您不希望它的動畫,只是改變YES
到NO
。
我修改了一點@耶的解決方案:
if([yourScrollView contentSize].height > yourScrollView.frame.size.height)
{
CGPoint bottomOffset = CGPointMake(0, [yourScrollView contentSize].height - yourScrollView.frame.size.height);
[yourScrollView setContentOffset:bottomOffset animated:YES];
}
這將滾動內容到的UIScrollView的底部,但只有當需要完成它(否則你會得到一個奇怪的向上/向下跳效應)
另外我注意到,如果您不從內容的高度減去滾動視圖本身的高度,它會將內容滾動到可見的位置。
它工作得很好lol :-) – svmrajesh 2014-03-11 10:45:26
CGFloat yOffset = scrollView.contentOffset.y;
CGFloat height = scrollView.frame.size.height;
CGFloat contentHeight = scrollView.contentSize.height;
CGFloat distance = (contentHeight - height) - yOffset;
if(distance < 0)
{
return ;
}
CGPoint offset = scrollView.contentOffset;
offset.y += distance;
[scrollView setContentOffset:offset animated:YES];
在情況下,如果你想雨燕版本:
scrollView.setContentOffset(CGPointMake(0, max(scrollView.contentSize.height - scrollView.bounds.size.height, 0)), animated: true)
希望這有助於!
這是更可靠的
CGSize contentSize = scrollview.contentSize;
[scrollview scrollRectToVisible: CGRectMake(0.0,
contentSize.height - 1.0,
contentSize.width,
1.0)
animated: YES];
很大,非常感謝。 – 2011-01-14 10:05:13