UIScrollView里邊包含多個UIWebView:
可以通過設置contentSize的值,設置其width為UIScrollerView可視區域的寬度:即UIScrollView的width,在設置一些alwaysBounceHorizontal之類的屬性,那么就只能豎直方向滾動;
我需要設置UIScrollView只能橫向滾動,UIWebView響應豎直滾動:
UIScrollView *contentView = [[[UIScrollView alloc] initWithFrame:frame] autorelease]; contentView.scrollEnabled = YES; contentView.pagingEnabled = YES; contentView.showsHorizontalScrollIndicator = NO; contentView.showsVerticalScrollIndicator = NO; contentView.alwaysBounceVertical = NO; contentView.alwaysBounceHorizontal = NO; [contentView setBackgroundColor:[UIColor redColor]]; [contentView setBounces:NO];
再在加載UIWebView的地方設置每個WebView的frame和UIScrollView的contentSize;
[self.tabBarView.contentView setContentSize:CGSizeMake(self.tabBarView.frame.size.width * i, self.tabBarView.frame.size.height - kTabBarHeight)];
這里我是在BCTabBarController基礎上修改的,所以
self.tabBarView.frame.size.width相當於屏幕寬度,i為UIScrollView包含的UIWebView數量,
self.tabBarView.frame.size.height - kTabBarHeight為UIScrollView的固定高度並且等於UIWebView的高度,這樣就能讓UIScrollView不響應豎直方向滾動,讓UIWebView響應豎直滾動。
bingo!
