为 PDF 查看器自动调整 UIViews 的大小
Posted
技术标签:
【中文标题】为 PDF 查看器自动调整 UIViews 的大小【英文标题】:Autoresizing UIViews for a PDF viewer 【发布时间】:2010-12-31 00:00:21 【问题描述】:我正在尝试自动调整大小以使用我为 iPad 构建的 PDF 查看器。
我的视图结构包括:
Scroll view
Document view
Page view
Page view
Page view
如图所示:http://i.stack.imgur.com/unV4J.png
显示 PDF 页面没有问题。假设出于这个问题的目的,每个页面都是一个 UIImageView。
为了创建视图,我一页一页地加载所有页面,并设置框架以使它们的大小正确,并且它们之间的间距为 10 像素。然后我将文档视图框架设置为所有页面的总大小。然后我将文档视图添加到滚动视图。这很好用。
问题在于自动调整大小。我希望文档视图(以及其中的页面视图)的宽度随着滚动视图宽度的缩放而缩放。文档视图和页面显然需要保持它们的纵横比,因此宽度和高度需要灵活。但是,如果我使页面高度灵活,则页面框架高度将变为文档视图的高度。
我已经玩了几个小时试图让它正确布局,但我没有成功。以前我刚刚更新了旋转的帧,但如果能通过平滑调整大小来实现这一点会很好。
【问题讨论】:
【参考方案1】:我以编程方式解决了这个问题。
首先我尝试使用 layoutSubviews UIView 方法在调整大小时重新定位子视图。然而,这仅在动画开始时发生一次(使用 MGSplitViewController,在其他情况下可能会有所不同),因此我重写了 setFrame 方法以将子视图重新定位在那里。这很好用,现在我的视图可以流畅地动画到它们应该在的位置。
如果其他人可以帮助我使用自动调整大小,那么我会认为这是一个更好的答案,但目前我对这个解决方案很满意。
【讨论】:
以上是关于为 PDF 查看器自动调整 UIViews 的大小的主要内容,如果未能解决你的问题,请参考以下文章