4

我有一个书本模式的 NSPageController,有两个页面,每个页面都包含一个 NSTableView。如果我启动我的应用程序并垂直调整它的大小,然后滑动到另一个页面,则滑动动画中使用的快照是调整大小之前的 NSTableView。刷入的这个视图只覆盖了前一个视图的一部分,这看起来很糟糕。调整视图大小时是否可以让 NSPageController 使快照无效?

4

1 回答 1

2

PictureSwiper示例通过在调整窗口大小时设置视图的框架来实现这一点但是,您需要设置布局/调整大小约束。每当视图大小发生变化时,约束将导致 NSPageController 的视图对象也被调整大小。如果您对视图布局/大小做一些独特的事情,您将需要手动调整大小,如链接的示例中所示。

此外,快照是即时生成的。从arrangedObjects方法文档NSPageController

需要时,将要求代表提供快照。

记住这一点很有用:

使用 book 模式时,如果pageController.view是 layer backed,则在转换期间使用 live layer 而不是快照。

于 2013-12-04T01:01:01.937 回答