通话中状态栏如何影响 ViewController 视图大小?

2024-03-20

我试图理解如何view关联到一个UITabBarController, UINavigationController or UIViewController当通话状态栏切换时做出反应。
我的问题是它们的行为似乎不同,这会给我带来副作用。

我制作了一个项目,更改上述 3 种类型的窗口的根视图控制器,然后转储description of the view获取框架坐标。


  • UIViewController

通话状态OFF:



UIView: 0x4e2a1f0; frame = (0 20; 320 460); autoresize = W+H; ....
  
ON

UIView: 0x4e2a1f0; frame = (0 40; 320 440); autoresize = W+H; ...  

我的理解是:当通话状态栏出现时,UIViewController的视图高度缩小并失去20,并且其y坐标从20移动到40。

那很完美 !我希望在更换经典时也能得到同样的结果UIViewController with a UITabBarController or a UINavigationController但事实并非如此!


  • UINavigationController

通话中状态栏OFF


UILayoutContainerView: 0x4b35ab0; frame = (0 0; 320 480); autoresize = W+H; ..  
ON

UILayoutContainerView: 0x4e1b060; frame = (0 0; 320 480); autoresize = W+H; ..  

在这种情况下,当通话状态栏切换时,UINavigationController 处理的视图的框架属性不会更改?! (为什么 ? :( )


  • UITabBarController

enter image description here OFF


UIView: 0x4b2f6a0; frame = (0 20; 320 460); autoresize = W+H; ...  
ON

UIView: 0x4b2f6a0; frame = (0 20; 320 460); autoresize = W+H; ...  

与中相同UINavigationController: the view of the UITabBarController切换通话状态栏时似乎不会受到影响。


有人可以解释一下在显示通话状态栏时调整大小是如何工作的吗?
我的最终目标是展示UIView显示的是ABOVE整体UITabBarController并且在显示通话状态时会正确调整大小。但是,我真的不知道将这样的视图放在视图层次结构中的哪里:如果我将其添加为 UITabBarController 视图的子视图,因为这个视图不会对调用状态显示做出反应,所以我的视图也不会做出反应: (


切换通话状态栏时视图的高度取决于其锚定方式。

使用 UIView 的 autoResizingMask 来控制当通话状态栏显示时视图是否应该向下移动或调整大小。

这两个属性,

UIViewAutoresizingFlexibleTopMargin
UIViewAutoresizingFlexibleHeight  

会帮助你。第一个将视图向下推,第二个改变大小。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通话中状态栏如何影响 ViewController 视图大小? 的相关文章

  • 使用 popToRootViewController 时我丢失了导航栏

    我有一个 iOS 应用程序 其中主屏幕是 UICollectionViewController 从集合视图中选择项目时 视图将推送到该项目的详细信息视图 在细节视图中 我构建了一个从侧面移出的抽屉 滑块 为了让视图看起来像我想要的那样 我隐
  • 我可以更改导航栏项目的位置吗?

    Here is the snapshot 代码在这里 UIButton leftButton UIButton buttonWithType UIButtonTypeCustom leftButton frame CGRectMake 0
  • 如何制作全局数组?

    所以 我读了这个帖子 https stackoverflow com questions 1249131 declaring global variables in iphone project 这几乎正是我正在寻找的东西 然而 这不起作用
  • 当方向改变时,视图控制器会为我做什么?

    一个简单的iphone程序 由项目模板View based Application生成 有几个按钮 我添加了以下代码 void showInfo UIView view NSLog view bounds 6 2f 6 2f 6 2f 6
  • 点击后退按钮时,iCarousel 会显示在上一页

    当我按下后退按钮时 这iCarousel仍然显示 1 秒 为什么会发生这种情况以及如何阻止这种情况 我已经使用故事板创建了 iCarosel 视图 void viewDidUnload super viewDidUnload self ca
  • 使用 facebook connect for iPhone 上传照片的记录流程

    看完之后 我确实在 Facebook 论坛上看到了这篇文章 link http forum developers facebook com viewtopic php id 30467 他们正在向 facebook 对象提供 UIImage
  • 如何在pop UIViewController中删除UIParallaxDimmingView?

    我有一个UIViewController vc1这是在之后推送的UIViewController vc2 Both vc1 and vc2具有透明背景 问题 当我尝试弹出时vc2使用交互式弹出手势 从边缘平移 在我看来堆栈显得很神秘UIPa
  • 使用UDID创建唯一的用户身份

    我正在开发一个 iPhone 应用程序 它与服务器通信以存储和交换数据 因为我想让它尽可能简单 所以我想避免用户帐户的注册 或者也可能使用密码 是否有可能 并且允许 获取 iPhone 设备的 UDID 并制作例如 它的 MD5 哈希值 我
  • 从 iPhone 设备查找当前国家/地区

    我必须在 iPhone 设置中获取当前国家 地区 谁能告诉我如何在 iPhone 应用程序中获取当前国家 地区 我必须使用当前国家 地区来解析需要传递当前国家 地区的 RSS 提要 请帮我找到那个国家 提前致谢 要查找用户选择的语言所在的国
  • iOS 上的多个 HTTP 请求与单个 TCP 连接

    我正在开发一个 iPhone 应用程序 它使用我控制的基于 Web 的 API 连接到持续打开的 TCP 端口并通过 TCP API 发出请求 或者为我想要获取的所有数据发出新的 HTTP 请求 会更快或更高效吗 我认为差异可以忽略不计 但
  • iPhone OpenGL ES 单视图还是多视图?

    我很困惑为 iPhone 编写游戏时最好的方法是什么 游戏将使用 OpenGL 渲染 但我很好奇创建开始屏幕 菜单 高分页面等 您是否使用 OpenGL 完成所有这些操作 或者创建额外的 UIView 并使用 UIKit 我认为没有最好的方
  • 适用于 iPhone 和 HTTP 直播的实时视频聊天

    所以一般来说 我想为 iPhone 制作一个具有视频聊天功能的应用程序 但经过多次搜索 我仍然找不到任何成功的结果 是否有任何公共或私有 API 可用于在 iPhone 上执行此操作 如果您的答案是 是 请帮助我 基本上 我想要的是读取连接
  • UIView 和 UITableView 中的 UITapGestureRecognizer 冲突

    我有一个UIView我在其中添加了一个UITapGestureRecognizer 在该视图中 我还有一个子视图 其中基本上是某种UITableView 问题是为什么不UITableView识别连续点击 而是始终转到点击手势识别器的处理程序
  • 使用 iOS swift AVPlayer 在横向模式下不全屏

    我将视频视图设置为全屏 然而 在模拟器中玩时 它并没有全屏运行 此问题仅适用于 iPad 不适用于 iPhone 这是我的代码 override func viewDidAppear animated Bool super viewDidA
  • 基于 ID 的 UiLocalNotifications

    是否有关于根据那里的 Id 存储 UIlocalNotifications 并根据那里的 Id 取消通知的教程 在本地通知中 您有此词典的用户词典 您可以取消通知 http www picksourcecode com ps ct 1612
  • 在后台每 X 分钟执行一次函数不起作用

    我使用此代码每 X 分钟执行一次函数 void executeEveryOneMinute self myFunction dispatch after dispatch time DISPATCH TIME NOW int64 t 60
  • 基于 JavaScript 的 iPhone UI 框架

    我们有一个基于推送的网络应用程序 最近 我们计划为其制作一个 iPhone 应用程序 就像 Facebook 拥有 iPhone 应用程序和网站一样 我们正在寻找一个可以让我们快速前进的 UI 框架 我翻阅过PhoneGap http ww
  • 将滚动事件从 uibutton 传递到 uiscrollview

    我有水平的UIScrollView这是从UIScrollView我添加了UIButtons水平地 我只能滚动到按钮区域之外 但如果我想滚动到任何按钮就会触发UIControlEventTouchUpInside事件 我不想要这个 我想开火U
  • 防止点击 MKAnnotation 时检测到 MKMapView 上的触摸事件

    我有一个 UITapGestureRecognizer 当用户点击地图时 它将在我的 MKMap 上隐藏和显示工具栏 简单 但是 当用户点击 MKMapAnnotation 时 我不希望地图以正常方式响应点击 如上所述 此外 当用户点击地图
  • iPhone 应用程序中的文本在 ipad 中的 2x 模式下出现别名

    我有一个适用于 iPhone 的应用程序 使用高分辨率图像使其适用于 iPhone 和 iPad 但在 iPad 中 所有文本在 2x 模式下都会出现别名 是否可以让App在2x模式下自动改变字体大小 或者我必须手动检测设备类型并处理字体大

随机推荐