iPhone - UIView addSubview 顶部间隙

2024-01-24

我有一个加载到 MainWindow.xib 中的视图。它只是一个带有 uiimageview 的视图,在整个屏幕(320 X 480)上显示图像。当应用程序加载时,我显示此视图,然后执行

[self.view addSubview:tabbarController.view];

选项卡栏控制器只是一个 UITabBarController,添加了 2 个视图控制器。当它将 tabbarController 的视图添加到子视图时,它会在顶部留下约 20px 的间隙。我的应用程序确实有一个状态栏,但这基本上是另一个状态栏的空间。除非我将其添加到我的视图控制器中,否则会发生这种情况:

self.view.frame = CGRectMake(0, 0, 320, 480);

谁能解释一下这一点。我在做

self.view = tabbarController.view;

但被告知我不应该这样做。所以现在我添加了一个子视图,但我不明白为什么我必须调整视图的 CGRect 以不显示 20px。


UITabBarController 希望将其视图添加为 UIWindow 的子视图,而不是其他 UIView 的子视图。 Frame 属性定义视图在其父视图中的偏移量,因此 UITabBarController 实现默认将其视图的框架偏移 20 像素,以便为状态栏留出空间。您以非标准方式使用 UITabBarController,将其添加到状态栏已偏移 20 像素的视图中。 UITabBarController 相对于其超级视图将其视图额外偏移 20 个像素,从而导致您看到的间隙。

解决此问题的一种干净方法是将 UITabBarController 的视图添加为窗口的子视图而不是视图:

[[[UIApplication sharedApplication] keyWindow] addSubview:tabbarController.view];

(注意:如果您已经调用了 makeKeyAndVisible,则 keyWindow 方法只会返回您的窗口。否则,您可能需要在 UIViewController 上设置窗口属性。)

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

iPhone - UIView addSubview 顶部间隙 的相关文章

  • CoreGraphics 在 iPhone4 上比在 3G/3GS 上慢

    我有一个用 CoreGraphics 绘制的图表 该图表可以水平滚动 并且当我们滚动它时就会绘制它 问题是 在 3G 3GS 上 滚动的速度和性能良好 但在 iPhone 4 上却比预期慢 我认为这是与 iPhone 4 的高分辨率有关的问
  • 查找 iPhone 上已安装应用程序的列表

    是否可以以编程方式查找我的 iOS 设备上安装的所有应用程序的名称 有没有可用的API 谢谢您的帮助 不可以 由于沙盒环境 iOS 应用程序无法访问其他应用程序的信息
  • UILabel 文本的大纲

    如何向白色 UILabel 文本添加黑色轮廓 一种选择是设置阴影 这可能不完全是您想要的 但可以达到类似的效果 您可以手动调整偏移量 UILabel myLabel lbl shadowColor UIColor whiteColor lb
  • 配置文件与应用程序标识符不匹配

    我刚刚为应用程序 ID 49776ZQRBG com gfeed ride 创建了一个 AdHoc 分发配置文件 我在 info plist 中将 Bundle ID 设置为此 但项目设置中的此配置文件显示为灰色并显示 配置文件与应用程序标
  • 如何检测和处理UIWebView中的HTTP错误代码?

    我想在收到 HTTP 错误 404 等时通知用户 我怎样才能检测到这一点 我已经尝试过实施 void webView UIWebView webView didFailLoadWithError NSError error 但当我收到 40
  • 添加 UITabBarController 时出错

    我在用着单点触控C 编写具有多个不同屏幕的 iPhone 应用程序 为了简单起见 我将仅描述导致我遇到问题的控制器的几个屏幕 我遇到的问题是 当我创建一个继承自的类时 我收到此错误消息UITabBar控制器 应用程序窗口应该有一个根视图控制
  • 有没有用于iPhone开发的高级手势库?

    iPhone 平台有许多常见的手势习惯用法 例如 有轻击 捏合和滑动等操作 每种操作都需要不同数量的手指 但是 当您开发应用程序时 您需要根据有关触摸次数和位置的低级信息来实现这些内容 看起来这是图书馆的主要候选者 您将注册一个委托 设置一
  • WKWebView 上的链接点击侦听器?

    WKWebView 类中是否存在类似 onLinkClickListener 的东西 我尝试用谷歌搜索但一无所获 我还在类似类型的 stackoverflow 上发现了一些未解答的问题 我需要 linkClickListener 的原因是
  • 获取动画 UIImageview 的坐标

    我正在水平位置对 UIImageview 进行动画处理 为此我使用了下面的代码我使用了 NSTimer timer NSTimer scheduledTimerWithTimeInterval 0 2 target self selecto
  • 基于标签删除 UIView 子视图?

    我正在创建一个这样的视图 UILabel qty UILabel alloc initWithFrame CGRectMake 0 0 100 20 qty backgroundColor UIColor whiteColor qty te
  • iPhone切换按钮的实现

    我想在我的 iPhone 应用程序中创建一个切换按钮 但是 我不知道最好的方法是什么 我正在考虑两种选择 我可以对 UIButton 进行子类化 这样我就不必实现触摸处理 我可以创建一个返回一个布尔值的方法 指示按钮是处于打开还是关闭状态
  • 如何在应用程序打开或关闭的情况下在后台的特定日期时间快速运行任务

    我正在开发闹钟应用程序 我需要在特定时间安排闹钟 我使用scheduleLocalNotification用于安排警报 它工作正常 如我所愿 BUT在触发警报之前 我需要向 API 服务器发出请求 在该请求中 我想检查从 API 服务器返回
  • 将标题和图像添加到导航栏

    我需要将 UIViewController 的名称和图像设置为导航栏 到目前为止 我可以显示图像 但标题当然丢失了 show image UIImage image UIImage imageNamed bar icon png UIIma
  • 如何更改 UIActivityIndi​​catorView 以设置自定义图像?

    好吧 我正在寻找一种方法来更改我的微调器图像并使用自定义图像 有什么建议吗 我创建了一个UIActivityIndi catorView 的子类 https github com cncool CDActivityIndicatorView
  • 从选项卡栏项目中删除徽章

    如何从选项卡栏项目中删除徽章我使用了下面的代码 但不适合我 UITabBarItem chatbadge appDelegate tabBarController tabBar items objectAtIndex 2 chatbadge
  • 在 Xcode 4.2 中启用崩溃日志符号

    我使用的是 Xcode 4 2 我的崩溃日志没有被符号化 如何在 Xcode 4 2 中启用此功能 请浏览苹果的文档 http developer apple com library ios technotes tn2151 index h
  • 如何加密捆绑的文本/json 文件?

    我的 iOS 应用程序捆绑了几个文件 现在 如果有人下载该应用程序并访问 ipa 文件 他就可以轻松阅读它们 我想让事情变得更难 您知道有关该主题的任何资源吗 我想我需要一个加密库 以及编码文件的构建脚本中的一些脚本 当然 我知道有人可能会
  • 高度在 IOS (iphone) 上无法正常工作

    我已经创建了this https codepen io salman15 project live DWbWpo Codepen 上的网站 在尝试使其响应所有平台时 我遇到了问题 看起来单个 div 覆盖了整个页面 仅在 IOS 上 并且并
  • 在 iOS 上保存(私人)应用程序设置?

    我知道NSUserDefaults用于保存 恢复user优先 什么是等效类应用 例如 应用程序可能有一个 上次运行 字段 或者它可能有一个用于在应用程序级别使用的设备的唯一标识的字段 我的目的是将应用程序的设置 而不是用户的设置 保留在设置
  • iOS Facebook SDK - 远程定义 FacebookAppID

    使用iOS Facebook SDK 3 0 需要在应用程序的info plist中定义FacebookAppID和相关的URL Scheme 我想远程定义这些 向我自己的服务器请求应用程序 ID 所以有两个不同的问题 我可以在运行时更改应

随机推荐

  • 在 android 4.4 中,将应用程序从最近的任务中删除会永久终止应用程序及其服务。知道为什么吗?

    与以前的版本不同 在 4 4 中 将应用程序从最近的任务中删除会永久杀死应用程序及其服务 如强制停止 即使它正在运行后台服务 它显示 0 个进程 1 个服务 但服务也不起作用 理想情况下 它不应该终止后台服务 并且在 4 3 之前的版本中也
  • System.InvalidCastException - 在调试中有效,在发布时失败

    UNHANDLED EXCEPTION System InvalidCastException Cannot cast from source type to destination type 06 11 19 39 01 690 I Mo
  • 如何在 CarPlay 模拟器上测试 iOS 应用程序

    我正在尝试开发一个与 CarPlay 兼容的 iOS 应用程序 根据这篇文章iOS CarPlay API 是公开的吗 如何集成CarPlay https stackoverflow com questions 22372095 is io
  • Android 中缩小(或裁剪)对话框背景

    我有一个高分辨率图像 假设为 1900x1200 我想将其用作对话框的背景 它被创建了 Dialog dialog new Dialog this dialog setContentView R layout dialog 对话框布局
  • 始终在 UWP 中的 FlipView 控件上显示导航箭头

    使用鼠标并将鼠标悬停在通用 Windows 平台 UWP 上时FlipView控制显示上一个 下一个导航按钮 然而 当使用触摸或笔时 它们仍然隐藏 这可能会让用户感到困惑 不期待额外的内容 我希望导航按钮始终可见 我怎样才能做到这一点 我们
  • 将第二个全局管理员添加到 Azure AD B2C?

    如何为 Azure AD B2C 添加第二个全局管理员 我们是否将它们添加为访客帐户并分配该访客 GA 添加普通用户时 它说我们无法添加 dot state fl us 电子邮件 我们应该授权它 还是会搞砸我们的主要租户 Azure AD
  • 防止用户生成的内容破坏布局?

    我有一个包含一些用户生成的内容的网站 我希望能够将布局的标记以及用户生成的内容的标记分开 这样 u g 内容就不会破坏网站布局 用户生成的内容是可信的 因为它来自我网络上的已知用户组 但尽管如此 只允许一小部分 html 标签 p ul o
  • 使用 TypeScript 编写 React 高阶组件

    我正在写一个反应高阶组件 HOC https facebook github io react docs higher order components html使用 TypeScript HOC 应该比包装组件多接受一个 prop 所以我
  • 将变量传递到新页面

    我试图从一个页面传递一个变量 加载另一个页面并输入该信息 像这样的东西 当127 0 0 1 test html ID 1234时 location href 127 0 0 1 newpage html if location href
  • Swift - uiDelegate 必须是 UIViewController 或实现 signIn:presentViewController: & signIn:dismissViewController: 方法

    来自Crashlytics 我们在 Google 登录过程中收到大量崩溃报告 崩溃报告如下 Fatal Exception NSInvalidArgumentException uiDelegate must either be a UIV
  • require_once被忽略

    Windows 上的 php 出现奇怪的问题 我的应用程序加载一个 核心 文件 该文件加载设置文件 注册自动加载 进行初始化等 在核心文件的顶部我有 include once config php 这对于当前目录中的任何内容都适用 如果我包
  • TableViewController 或具有用于解析 API 查询的表视图的视图控制器

    我想显示一个姓名列表和列表下的按钮 但不知道该怎么做 创建一个空白视图控制器 然后将带有表视图单元格和按钮的表视图拖到其中是否正确 该按钮将导航至添加名称功能 或者可以直接使用表视图控制器吗 如果我使用空白视图控制器执行此操作 我必须为拖动
  • 在 MonoDroid 上实现 IJavaObject

    我目前正在尝试在类上实现 ILocationListener 以便接收 GPS 更新 这不是在 Activity 上 而是在普通的 C 类上 作为 ILocationListener 合约的一部分 我需要支持 I JavaObject pu
  • Blackberry BrowserField白色空页问题

    你好 我想在 BrowserField 中显示 html 内容 我使用代码 blove 来执行此操作 但我只看到白色的空白页面 BrowserField demo new BrowserField String res p demo p d
  • 异步和等待 - 控制台、Windows 窗体和 ASP.NET 之间的区别

    我一直在学习异步 等待的使用 我想我理解了底层的概念 然而 大多数关于 async await 的 Channel 9 教程 MSDN 文章和 Stack Overflow 答案都使用基于 GUI 的应用程序 Windows 窗体应用程序
  • JDBC 和 MySql 安装和配置

    我必须使用 JDBC 和 MySql 做一个项目 有人可以指导我尝试安装和运行这些该死的东西吗 我不知道该怎么做以及做什么 我一生中从未使用过数据库 所以我不知道 我需要安装 配置什么等 有人可以提供一些有用的链接供我开始吗 Vogella
  • UIButton的addtarget:触摸后未调用!

    我有以下代码 当我按下 UIButton 时 不会调用任何内容 并且不会崩溃 calloutButton UIView alloc initWithFrame CGRectMake left width2 2 3 5 230 230 UIB
  • 使用 Hibernate 登录并存储记录的用户名

    我正在开发一个简单的项目云 其中注册用户登录后可以下载和上传文件 我正在使用 Eclipse Java EE JSF 和 Hibernate 进行开发 在我的项目中 我可以登录用户 如果数据正确 我会打开用户菜单 但无法弄清楚在哪里存储有关
  • 使用 UIAppearance 更改标签高度

    有没有办法使用 UIAppearance 更改 UINavigationBar 内标签的高度 这是代码和正在发生的情况的图像 以便您可以了解问题所在 UINavigationBar appearance setTitleVerticalPo
  • iPhone - UIView addSubview 顶部间隙

    我有一个加载到 MainWindow xib 中的视图 它只是一个带有 uiimageview 的视图 在整个屏幕 320 X 480 上显示图像 当应用程序加载时 我显示此视图 然后执行 self view addSubview tabb