2012-04-11 114 views

回答

30

啓用水平滾動和禁用垂直滾動:

myWebView.scrollView.delegate = self; 
[myWebView.scrollView setShowsVerticalScrollIndicator:NO]; 

-(void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    if (scrollView.contentOffset.y > 0 || scrollView.contentOffset.y < 0) 
     scrollView.contentOffset = CGPointMake(scrollView.contentOffset.x, 0); 
} 

所述第二線將有隱藏垂直滾動指示器。當您嘗試向下滾動時,檢查「scrollView.contentOffset.y <零」是否會禁用彈跳。你也可以這樣做:scrollView.bounces = NO做同樣的事情! 通過查看Rama Rao的回答,我可以告訴他的代碼會在您嘗試垂直滾動時將scrollView重置爲(0.0),從而將您從橫向位置移開,這不太好。

啓用垂直滾動和禁用水平滾動:

myWebView.scrollView.delegate = self; 
[myWebview.scrollView setShowsHorizontalScrollIndicator:NO]; 

-(void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    if (scrollView.contentOffset.x > 0) 
     scrollView.contentOffset = CGPointMake(0, scrollView.contentOffset.y); 
} 

PEACE

3
-(void) scrollViewDidScroll:(UIScrollView *)scrollView{ 
    if (scrollView.contentOffset.y>web.frame.origin.x) { 
     scrollView.contentOffset = CGPointMake(0, 0); 
    } 
} 

通過這種方式我們可以解決這個問題。採取全球滾動視圖對象如下:

UIScrollView* scrollView =web.scrollView; 

組委託的滾動視圖,然後-(void) scrollViewDidScroll:(UIScrollView *)scrollView將被調用,就可以得到結果。我檢查了兩個版本(iOS 5 & iOS 4.2)

+0

我想,這隻會隱藏滾動指標,不會限制滾動。 – danh 2012-04-11 04:57:19

+0

Kk現在我明白了。我可以設置像我上面編輯的內容大小。 – 2012-04-11 05:02:18

+0

指定webview框架高度以下的高度,而不是0. – 2012-04-11 05:05:30

1

Leave scrollEnabled == YES。滾動視圖將限制基於內容大小的滾動。要只允許水平滾動,請將contentSize設置如下所示:

scrollView.contentSize = CGSizeMake(1000, scrollView.bounds.size.height); 

寬度應與滾動視圖內滾動的寬度相關。

+0

此代碼不限制在iOS5.0中的滾動 – 2012-04-11 05:16:23

+0

嗨。我有表格中的webview。我希望它是水平滾動。但是當垂直滾動時,它應該忽略並滾動表格。 – Durgaprasad 2014-10-31 07:31:12

3

要使它充分的工作,寫:

webview.scrollView.delegate = self; 
    [webview.scrollView setShowsHorizontalScrollIndicator:NO]; 

} 

-(void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    if (scrollView.contentOffset.x > 0) 
     scrollView.contentOffset = CGPointMake(0, scrollView.contentOffset.y); 
    if (scrollView.contentOffset.x < 0) 
     scrollView.contentOffset = CGPointMake(0, scrollView.contentOffset.y); 
} 

我剛纔說的最後兩行,因爲當你像pnizzle一樣寫它時,你不能從右側滾動到左側,但仍然從左到右滾動。

祝你好運

+0

Touché。但是,如果滾動視圖不能向前滾動,那麼它將如何讓您向後滾動?你不能從你從未進入正確的房子出來。除非您以編程方式添加contentOffset已設置爲大於零的scrollview,否則您的代碼將進入。 – pnizzle 2014-09-15 07:40:44