0

我的应用程序允许用户创建发票。数据可以横向或纵向输入。

然后,用户能够保存报价并在集合视图中查看保存的报价。类似于 iOS 上的 Pages。磁贴的大小是设备在纵向视图中的纵横比。

因此,如果用户保存报价,我会生成视图的屏幕截图并将其保存,以便可以在平铺视图中查看(如 iOS 页面)。如果用户在设备处于纵向时保存,这一切正常。如果他们在风景中保存它很糟糕。

所以我的问题是,有一种方法可以在幕后旋转视图,在用户不知道任何方向变化的情况下从中生成一个 UIImage。

4

1 回答 1

0

如果您正在运行旋转它并在同一个线程中截取屏幕截图的代码,那么只要您在线程完成运行之前将其旋转回来,设备的屏幕就不会更新。只需旋转所有内容(或者如果您有太多要旋转的对象,请对其进行截图然后旋转该截图)现在对您的新旋转视图进行截图(或者如果您截图并旋转它不会做任何事情,你完成了)然后旋转一切(再次除非你只是截图然后旋转)......如果你需要一个可以在 1 个线程中运行的截图方法,请使用 CGContext 代码。

(要回答你的问题,旋转总是在幕后,它只会在你的线程结束时变成场景的“前面”......所以如果你在线程结束之前将它旋转回来,用户将永远看不到它,因为设备的屏幕在旋转两次之后才会更新,然后再旋转一次......宾果游戏!)

于 2013-02-26T04:06:57.973 回答