2011-01-13 50 views
1

我動態地添加滾動視圖中的一些觀點和增加滾動型的contentsize太多,但我想滾動了滾動在其高度的底部。滾動底部的滾動型編程 - iphone

scrollRectToVisible對我沒有幫助。它只是滾動到我的iPhone屏幕的可見視圖,但我想要達到滾動視圖的contentize的底部。

任何人都可以給我一些示例代碼?

感謝,
納維德·巴特這樣反而

回答

3

使用的東西:

CGPoint bottomOffset = CGPointMake(0, [yourScrollView contentSize].height); 
[yourScrollView setContentOffset:bottomOffset animated:YES]; 

如果您不希望它的動畫,只是改變YESNO

+1

很大,非常感謝。 – 2011-01-14 10:05:13

5

我修改了一點@耶的解決方案:

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的底部,但只有當需要完成它(否則你會得到一個奇怪的向上/向下跳效應)

另外我注意到,如果您不從內容的高度減去滾動視圖本身的高度,它會將內容滾動到可見的位置。

+1

它工作得很好lol :-) – svmrajesh 2014-03-11 10:45:26

0
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]; 
0

在情況下,如果你想雨燕版本:

scrollView.setContentOffset(CGPointMake(0, max(scrollView.contentSize.height - scrollView.bounds.size.height, 0)), animated: true) 

希望這有助於!

0

這是更可靠的

CGSize contentSize = scrollview.contentSize; 
[scrollview scrollRectToVisible: CGRectMake(0.0, 
              contentSize.height - 1.0, 
              contentSize.width, 
              1.0) 
         animated: YES];