我现在正在制作数字漫画。 我的应用程序在没有缩放时有水平分页。 但是在缩放时,图片的高度超过了屏幕高度。 因此应用程序具有垂直分页。
但我不需要垂直分页。 我想在zooiming期间进行水平分页而不进行垂直分页。
请教我。
答案 0 :(得分:13)
这很简单。正如您的朋友建议的那样,您至少需要两个UIScrollView
。水平(即分页)需要一个UIScrollView
,每个页面需要一个UIScrollView
。关键点是(我们将它们命名为scrollHorizontal
和scrollVertical
):
scrollHorizontal.frame.height
必须等于scrollHorizontal.contentSize.height
(否则,您最终会进行垂直分页)scrollVertical
:首先,每个页面都有一个。帧宽和contentSize.width
应该匹配并且有意义w.r.t.页面的宽度(在scrollHorizontal
中)。当然,框架高度不应超过scrollHorizontal.contentSize.height
。示例代码:
UIScrollView scrollHorizontal = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)]; scrollHorizontal.pagingEnabled = YES; scrollHorizontal.directionalLockEnabled = YES; // not needed but helpful // Now let's create each page UIScrollView *scrollPage1 = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)]; [scrollPage1 addSubview:theContentViewForPage1]; scrollPage1.contentSize = CGSizeMake(self.view.bounds.size.width, theContentViewForPage1.bounds.size.height); // Add page to scrollHorizontal [scrollHorizontal addSubview:scrollPage1]; [scrollPage1 release]; //...add more pages (REMEMBER to set the scroll view's frame.origin.x accordingly for each additional page) // Set the scrollHoriztonal content size scrollView.contentSize = CGSizeMake(self.view.bounds.size.width*NUMBER_OF_PAGES, self.view.bounds.size.height); // Now add the scrollview to self.view; or even self.view = scrollHorizontal, etc.
答案 1 :(得分:-1)
技术上没有垂直分页这样的东西,只有标准API的水平分段。向上/向下滚动,左/右分页略有不同。
在选择uiscrollview并在检查器窗口中编辑其属性后,您应该能够在Interface Builder中禁用垂直滚动。
答案 2 :(得分:-1)
您可以在用户放大时动态设置pagingEnabled
为NO
,然后在缩小时将其设置回YES
。
查看UIScrollViewDelegate
的{{3}},了解如何检测缩放。