ios - iPhone双高状态栏导致布局问题

标签 ios

由于 iPhone 上的双高状态栏,我在布局方面遇到了很多问题。我的布局的组织方式为所有 UI 元素提供所需的大小,调整它们的大小以处理双高状态栏会使我的应用程序布局在正常使用中看起来很难看。

请有人建议是否有任何替代方法来处理出现双高状态栏时向下推出屏幕的布局?并且在正常使用时(没有双高状态栏)UI 看起来仍然不错?

最佳答案

通常,为了处理屏幕尺寸的变化,自动调整大小规则非常重要(自动布局在 iOS 6 中更加灵活)。

这些规则定义了元素的位置和大小如何根据父 View 的大小变化而变化。它们是通用规则,会影响上/左/下/右边距以及宽度/高度,但在大多数情况下适用于大多数人。

您需要决定高度缩短后 View 的外观,并在实现 View 时考虑到这一点。如果 Autoresize 可以为您解决这个问题,那就太好了!您可以在 IB 中(选择 View 时在标尺选项卡下)或通过代码应用它们:

view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

如果您的目标是 iOS 6 及更高版本,您还可以使用 AutoLayout 及其约束系统。

如果这不合适,那么当状态栏改变高度时,您可以根据需要执行自己的转换。这可以通过以下任一方式完成:

  1. 在您的应用程序委托(delegate)中实现这些委托(delegate)方法:

    application:willChangeStatusBarFrame:
    application:didChangeStatusBarFrame:
    
  2. 观察这些通知

    UIApplicationWillChangeStatusBarFrameNotification
    UIApplicationDidChangeStatusBarFrameNotification
    

关于ios - iPhone双高状态栏导致布局问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13195428/

相关文章:

ios - 如何使用 Facebook SDK 3.1 避免 "App is allready authorized"

objective-c - 返回零长度数据的 NSURLConnection

ios - Xcode 5 文档窗口缺少 sdk 指南和示例的完整概述

ios - 是否可以在为 Social.framework 设置社交帐户后自动返回我的应用程序?

ios - 将单元格文本重新打印到 UITableViewCell

ios - ios 8 版本中未安装 IPA

ios - Swift 主从模板问题(iOS 8 beta 3)

ios - 在 Swift 中获取和设置 UITextField 和 UITextView 的光标位置

ios - 检测 mapItemForCurrentLocation 何时无法找到您的设备

ios - 在 UIImageView 上打字