我正在尝试自动调整大小以使用我为 iPad 构建的 PDF 查看器。
我的 View 结构包括:
Scroll view
Document view
Page view
Page view
Page view
如下图所示:http://i.stack.imgur.com/unV4J.png
我在显示 PDF 页面时没有问题。假设出于这个问题的目的,每个页面都是一个 UIImageView。
为了创建 View ,我一一加载所有页面,并设置框架,使它们的大小正确,并且它们之间有 10 像素的间距。然后我将文档 View 框架设置为所有页面的总大小。然后我将文档 View 添加到 ScrollView 。这工作正常。
问题在于自动调整大小。我希望文档 View 的宽度(以及其中的页面 View )随着 ScrollView 宽度的缩放而缩放。文档 View 和页面显然需要保持它们的纵横比,因此宽度和高度需要灵活。但是,如果我使页面高度灵活,则页面框架高度将变为文档 View 的高度。
我已经玩了几个小时试图让它正确布局,但我没有成功。以前我刚刚更新了旋转的框架,但如果能通过平滑调整大小来实现这一点会很好。
最佳答案
我以编程方式解决了这个问题。
首先,我尝试使用 layoutSubviews UIView 方法在调整大小时重新定位 subview 。然而,这仅在动画开始时发生一次(使用 MGSplitViewController,在其他情况下可能会有所不同),因此我重写了 setFrame 方法以将 subview 重新定位在那里。这很好用,现在我的观点顺利地动画到他们应该在的地方。
如果其他人可以帮助我使用自动调整大小,那么我会认为这是一个更好的答案,但目前我对这个解决方案很满意。
关于objective-c - 为 PDF 查看器自动调整 UIViews 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4567200/