我有一个没有人提供任何帮助的问题,所以让我问一个技术问题来帮助我自己诊断它。
除了更改视图的框架(即边界/中心)或变换之外,系统有什么机制来移动视图使其看起来部分不在屏幕上?
这是一个需要在 iOS 5/6 上运行的应用程序,所以我没有使用自动布局。我通过 push segue 获得了全屏视图。暂停后,我隐藏(半透明)状态和导航栏。当条形图以动画形式隐藏时,它们会从屏幕上滑出。在 iOS 5/6 中,这只是暴露了视图的顶部(这是一个图像)。在 iOS 7 中,它会将整个视图向上“离屏”移动相应的量(即,如果我隐藏两个条,则为 64 点),在屏幕底部的视图“下方”显示一个内容条。当我取消隐藏条(通过点击)时,条出现并且视图向下移动以占据整个屏幕。VC 是否设置为在栏下扩展视图不影响行为。我无法在简化的应用程序中重现此行为。
在任一状态下,即部分离屏或完全在屏幕上,顶级视图框架保持 {0, 0} 320 x 480 并且变换矩阵保持 {1, 0, 0, 1, 0, 0}。我不知道系统正在更改什么对象的什么属性以在视觉上移动视图。也许如果我知道要检查哪些对象/属性,我可以推断出正在发生的事情。谁能告诉我系统是如何做到这一点的?