objective-c - 为 PDF 查看器自动调整 UIViews 的大小

标签 objective-c ipad ios uiview

我正在尝试自动调整大小以使用我为 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/

相关文章:

ios - 应用自动布局后如何获取 UIImageView 大小?

iphone - 在 iPhone/iPad 应用程序中发送电子邮件时将默认电子邮件更改为其他电子邮件客户端(在非内置应用程序中)

objective-c - 在选项卡栏和导航栏内弹出 View 时遇到问题

iphone - 在没有导航的 ipad 应用程序中单击按钮打开 View (另一个 xib)

ios - swift : implementing a new item dialogue like 'add alarm' in clock app

objective-c - 如何从我的应用程序启动 Mac 地址簿并选择特定人员?

ios - 通过字符串运行一堆方法并接收一个值

ios - @3x 图像在 XIB 中的 iPhone 6 或 5S 或 5 上错误地使用了 "Use as Launch Image"选项集

ios - 使用 iCloud Apple ID 匿名登录应用程序

上传图片时iOS应用程序WKWebView错误