我创建了一个使用多个控制器来显示和控制视图的多视图应用程序。我遇到的问题是,当模拟器最初加载视图时,标题部分被屏幕顶部的栏覆盖,并且基部的工具栏未触及屏幕底部。我使用“界面”构建器大小属性来控制iPhone旋转时的视图,并且它完美地工作。在旋转之后,所有材料都可以在横向和纵向模式下完美地进入到位,但问题在于旋转发生之前的初始负载。 您的想法非常感谢。 TonyUIView被状态栏剪切直到自动旋转
回答
我遇到了状态,导航栏和标签栏夹住视图的问题。我通过使用Interface Builder中的Simulated Metrics功能修复了大部分功能。这样你在IB中的布局就会更准确地得到你实际得到的结果。
我在这个问题上挣扎了好几天 - 在IB工作中没有太多的摆弄。
最终我得到了它通过加入这一行的工作:
mainViewController.view.frame = window.screen.applicationFrame;
到应用程序中:didFinishLaunchingWithOptions:方法。 (其中mainViewController是主UIViewController)。
的问题是,你是根据苹果的文档添加控制器“错误地”(恕我直言,虽然苹果设计的很糟糕 - !默认的应该是你不需要转移)
如果你会有一个状态栏,Apple 要求,你“手动”将所有的控制器向下移动20个像素(更准确地说,是状态栏的高度 - 尽管现在总是20个像素,但Apple允许您请求运行时高度,来自UIApplication中的“statusBarFrame”属性)
Apple's classes - eg UINavigationController/UITabBarController - 当它们被添加到屏幕时,自动向下移动20个像素。这两个班都有一个错误,他们会做这种转变即使他们不是主要控制器 - 所以你的应用程序突然下移额外的20个像素,留下20个像素的白色空间顶部。
但是,当他们旋转时,这些类通常“得到它的权利”,并回到原地。或相反亦然。
c.f.此链接,这是怎么回事,以及如何更详细的解释,编写代码苹果希望你的方式:我就遇到了这个问题太
。具体来说,当显示一个ADBannerView
时,我的整个视图会转移并位于状态栏下方,并留下一点空的空间,只是iPhone屏幕底部状态栏的大小。下面是我如何解决它:(亚当斯在这里回答让我摸不着头脑):
// In the function that displays an iAD Banner
CGRect contentFrame = self.view.bounds;
CGRect myStatusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
CGFloat statusHeight = myStatusBarFrame.size.height;
// Set the view's origin to be under the status bar.
contentFrame.origin.y = statusHeight;
我需要设置我的观点的起源是状态栏的下方,而解决这个问题对我来说。
- 1. 状态栏旋转通知
- 2. Android - 从状态栏切换到活动
- 3. 在方向切换视图时停止状态栏旋转
- 4. 旋转GUI.Box导致剪切
- 5. 状态栏下的UIView
- 6. UIView:旋转+移动
- 7. CSS旋转被裁剪
- 8. 自定义状态栏被SAP的默认状态栏隐藏
- 9. 禁用UIView的自动旋转
- 10. 旋转UIView;如何在旋转过程中防止裁剪?
- 11. 当状态栏被隐藏时,区域会被裁剪
- 12. 工具栏被剪切到系统栏下
- 13. 如何切换状态栏?
- 14. UIView旋转和移动
- 15. 旋转后调整大小或剪切
- 16. 导航栏上的自动旋转条
- 17. 添加自动转换到Flex状态
- 18. 旋转UIView - willRotateToInterfaceOrientation不被称为
- 19. UIView旋转
- 20. 旋转UIView iPhone
- 21. UIView在意外状态栏下
- 22. 开始的UIView在状态栏
- 23. 状态栏上方的位置UIView
- 24. UIView垂直翻转动画
- 25. 节能状态,而旋转
- 26. 自动旋转到在iphone
- 27. 如何获取UIView实例旋转角度,当它处于旋转动画状态?
- 28. 自动布局和通话状态栏
- 29. UIView背景颜色没有设置,直到设备旋转
- 30. 动态隐藏状态栏
谢谢!手动创建我的主视图控制器后,我一直在努力解决这个问题。控制器中的某些内容(广告查看弹出窗口)导致视图中的子项在广告被解散后通过状态栏高度进行移位。 – DPlusV 2010-08-23 06:25:06
+1,因为我浪费了两个小时试图找到这个答案! – 2010-11-04 04:49:53