我正在尝试使用Interface Builder中的 UIPageViewController
创建一个页面浏览器,它允许显示相邻页面的一部分(也就是偷看) . 我一直在关注http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/的教程(并将其移植到Swift中),这很简单,但是我无法弄清楚在UIPageViewController中显示的页面是否比屏幕更小(并且居中)并使相邻页面部分显示在屏幕左右两侧 .
我试图在IB中调整页面内容视图控制器的大小并使用代码,但页面视图控制器仍将填满整个屏幕 .
有没有人知道涵盖此功能的教程或什么是获得所需效果的好方法?
以下来自Bamboo Paper的截图显示了我正在努力实现的目标......
2 回答
就像@davew所说,偷看意见需要使用
UIScrollView
. 我也搜索了一种使用UIPageViewController
但无法找到任何资源的方法 .使用
UIScrollView
来实现此功能并不像我想象的那么痛苦 .这是一个简单的例子,可以看到基本控件的运行情况 .
首先:制作一个
UIViewController
,然后在viewDidLoad
方法中添加以下代码:更新
我已经将这个代码包装在一个简单的ViewController中并将其放在GitHub上
https://github.com/kjantzer/peek-page-view-controller
它绝不是完整的,但它是一个有效的开始 .
我只是在寻找相同功能的好解决方案 . 我在Ray Wenderlich的网站上找到了一个很好的教程,名为"How To Use UIScrollView to Scroll and Zoom Content" . 它说明了使用
UIScrollView
可以执行的多项操作 . 第四个也是最后一个是"Viewing Previous/Next Pages",这是你的"peek"功能 .我还没有实现这个,但关键步骤似乎是:
创建一个比屏幕窄的
UIScrollView
开启
Paging Enabled
关闭
Clip Subviews
将
UIScrollView
与您的页面并排填充将
UIScrollView
嵌入填充屏幕宽度的UIView
内,以便您可以捕捉并传递滚动视图外的触摸