我的UIWebView不應該允許垂直滾動。但是,水平滾動應該是可能的。如何在UIWebview中啓用水平滾動並禁用垂直滾動?
我一直在瀏覽文檔,但找不到任何提示。
下面的代碼禁用兩個滾動的方向,但我只希望關閉垂直:
myWebView.scrollView.scrollEnabled = NO;
我該如何解決這個問題?
我的UIWebView不應該允許垂直滾動。但是,水平滾動應該是可能的。如何在UIWebview中啓用水平滾動並禁用垂直滾動?
我一直在瀏覽文檔,但找不到任何提示。
下面的代碼禁用兩個滾動的方向,但我只希望關閉垂直:
myWebView.scrollView.scrollEnabled = NO;
我該如何解決這個問題?
啓用水平滾動和禁用垂直滾動:
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
-(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)
Leave scrollEnabled == YES。滾動視圖將限制基於內容大小的滾動。要只允許水平滾動,請將contentSize設置如下所示:
scrollView.contentSize = CGSizeMake(1000, scrollView.bounds.size.height);
寬度應與滾動視圖內滾動的寬度相關。
此代碼不限制在iOS5.0中的滾動 – 2012-04-11 05:16:23
嗨。我有表格中的webview。我希望它是水平滾動。但是當垂直滾動時,它應該忽略並滾動表格。 – Durgaprasad 2014-10-31 07:31:12
要使它充分的工作,寫:
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一樣寫它時,你不能從右側滾動到左側,但仍然從左到右滾動。
祝你好運
Touché。但是,如果滾動視圖不能向前滾動,那麼它將如何讓您向後滾動?你不能從你從未進入正確的房子出來。除非您以編程方式添加contentOffset已設置爲大於零的scrollview,否則您的代碼將進入。 – pnizzle 2014-09-15 07:40:44
我想,這隻會隱藏滾動指標,不會限制滾動。 – danh 2012-04-11 04:57:19
Kk現在我明白了。我可以設置像我上面編輯的內容大小。 – 2012-04-11 05:02:18
指定webview框架高度以下的高度,而不是0. – 2012-04-11 05:05:30