当状态栏旋转时隐藏时调整视图

2023-12-04

我四处浏览寻找这个问题的答案,但我只找到了有类似问题的人,而不是这个确切的问题,所以希望这里有人可以帮助我!

我有一个 iPad 应用程序。在 iPad 上,当您纵向或横向握住 iPad 时,始终会显示带有时钟和电池的状态栏。出于这个原因,我在一些视图控制器的顶部有一些自定义工具栏,这些工具栏占了这 20 点。

我现在正在努力使我的应用程序具有通用性。我注意到的第一件事是,当 iPhone 处于纵向模式时,状态栏会显示,但当它处于横向模式时,状态栏会隐藏,现在我的工具栏高了 20 磅。

我对始终隐藏或始终显示状态栏不感兴趣。我认为在手机横向模式下隐藏它的功能很好。我想要做的是能够检测状态栏何时隐藏,以便我可以调整工具栏的 Y 位置(因此将其设置为 0 或 -20)。更好的解决方案是,如果有一种方法可以让我设置布局约束来处理这种情况。


正确的做法是:

  • 使用具有正常高度的正常工具栏 - 不要对高度设置任何限制。

  • 将前导约束 0 添加到超级视图(不是超级视图边距),将尾随约束 0 添加到超级视图(不是超级视图边距)。

  • 将顶部约束 0 添加到顶部布局指南(或安全区域顶部)。这看起来会在工具栏上方留下 20 像素的空间,但是笑一笑然后继续。

  • 将视图控制器设置为工具栏的委托(有一个用于此目的的委托出口)。

  • 让视图控制器采用 UIBarPositioningDelegate 并实现委托方法,如下所示:

    class ViewController: UIViewController, UIBarPositioningDelegate {
        func position(for bar: UIBarPositioning) -> UIBarPosition {
            return .topAttached
        }
    }
    

当有状态栏时,这将导致工具栏的外观高度在状态栏后面向上延伸,但当没有状态栏时,工具栏将具有正常高度并紧贴顶部。

enter image description here enter image description here enter image description here

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

当状态栏旋转时隐藏时调整视图 的相关文章

  • 如何将CIFilter应用到UIView上?

    根据Apple docs 过滤属性CALayer不支持iOS 当我使用正在申请的应用程序之一时CIFilter to UIView即 Splice Funimate 和 Artisto 的视频编辑器 Videoshow FX 这意味着我们可
  • TTTAttributedLabel 可点击截断标记

    我有一个 TTTAttributedLabel 并为其指定了一个自定义属性截断标记 NSAttributedString atributedTruncationToken NSAttributedString alloc initWithS
  • Swift:协议、结构、类

    我开始学习 Swift 语言 但在理解协议 结构和类方面遇到了困难 我来自 Android 方面的编程 所以我相信 Swift 协议基本上是 Java 接口 其中每一个的正确用例是什么 这些类比并不 完全 正确 但这就是我所理解的要点 是的
  • 在 Swift 中以编程方式为 iOS 制作带有名字首字母的图像,例如 Gmail

    我需要在 UITableView 中显示与其姓名相对应的每个用户的个人资料图片 在下载图像之前 我需要显示一张带有他名字的第一个字母的图像 就像在 GMail 应用程序中一样 如何在 Swift for iOS 中以编程方式执行此操作 不需
  • cameraOverlayView 防止使用 allowedEditing 进行编辑

    在我的应用程序中 使用以下行在拍摄照片后对其进行编辑 移动和缩放 效果很好 imagePicker setAllowsEditing YES 但如果我还使用cameraOverlayView 则编辑模式将不再起作用 屏幕出现 但平移和捏合手
  • XCode 7 中的 AWSS3TransferManagerUploadRequest

    我今天升级到 Xcode 7 Swift 2 0 我的项目正在使用 CocoaPods 我正在 POD 文件中导入所有与 AWS 相关的文件 我已经设置了桥接标头 并导入了 Amazon 告诉我的所有文件 在升级到 Swift 2 0 之前
  • 如何将自定义 C 代码放入 SwiftPM 包中?

    我正在尝试将 C 代码打包到 Swift 模块中 我们称之为CModule 一旦我将其放入项目的基本文件夹中 Swift模块 并配置了搜索路径 我可以在 Swift 文件中自动完成工作 并检测错误 警告 问题是 导入时它无法识别该模块 并且
  • 在故事板中将 UITableView 的 rowHeight 设置为 UITableViewAutomaticDimension ?

    在 Xcode 6 中创建 iOS 8 应用程序时 如何设置 UITableViewrowHeight to UITableViewAutomaticDimension In WWDC 2014 第 226 场会议 表和集合视图中的新增功能
  • SwiftUI:动态“列表”中的“切换”在重用时会破坏其布局?

    我试图展现一种动态List行包含Toggle元素 这Toggle最初布局正确 但是当它们滚动进和滚出视图时 即单元格重用时 它们的布局会中断 最小示例代码 import SwiftUI struct SwitchList View var
  • 重叠的装载机圆

    我试图重现苹果为应用程序 活动 制作的重叠圆圈 见下图 如果您使用标准贝塞尔路径 起始 结束位置将仅在 0 到 2PI 之间产生影响 例如 如果您尝试填充 4PI 即使使用一些阴影 则无法模拟重叠加载 如何制作类似于苹果解决方案的东西来创建
  • HTML 分页

    有没有html分页的开源项目 我正在为 iPhone 开发一个应用程序 我想在 UIWebView 上显示 HTML 文件 并且不希望用户向下滚动以查看屏幕上未显示的剩余内容 我想在第二个 UIWebView 上显示剩余的内容 我怎样才能做
  • 在 iOS 中使用 FB SDK 是否需要 Facebook 的成功审核?

    现在我需要使用Facebook SDK来自我的 iOS 应用程序中的 Facebook 所以我填写了有关我的应用程序的信息developer facebook com应用程序详细信息 但是 当我用我的设备测试我的应用程序时 我可以发布到 F
  • 我们能否检测用户是否通过主页按钮或锁定按钮离开而没有监听 darwin 通知?

    我最近向应用程序商店提交了一个新的二进制文件并将其发送以供审核 但它立即被拒绝并显示以下消息 不支持的操作 不允许应用程序监听设备锁定通知 经过一番挖掘后 我发现我们无法使用 com apple springboard lockstate
  • 如何向 UIView 添加大小调整手柄?

    我试图根据用户请求在运行时动态创建视图 UIImageView 和 UITextView 然后允许用户移动它们并调整它们的大小 除了调整大小之外 我的一切都工作得很好 我尝试使用捏合手势识别器 但发现它对于我想要的东西来说太笨拙了 因此 我
  • iOS UITableViewCell cell.imageView 设置圆角

    嘿我正在尝试设置cell imageView s cornerRadius 但似乎不起作用 cell imageView layer cornerRadius 9 它会起作用还是我应该添加自定义UIImageView在我的牢房里有圆角吗 我
  • 使用 AVFoundation 裁剪 AVAsset 视频

    我在用AVCaptureMovieFileOutput录制一些视频 我使用显示预览层AVLayerVideoGravityResizeAspectFill稍微放大 我遇到的问题是最终的视频较大 包含预览期间不适合屏幕的额外图像 这是预览和生
  • 以弯曲格式显示文本

    我正在寻找以曲线格式绘制一些文本 我使用哪个控件并不重要 UITextField UILabel or UITextView 我只想显示如图所示的文本 仍在寻找解决方案 请帮忙 查看此链接 https nodeload github com
  • 如何使用 Core Graphics 在我的触摸位置绘制一个圆圈?

    新程序员来了 我在尝试使用 Core Graphics 在触摸位置周围绘制描边弧时遇到问题 我有绘制圆圈的方法工作正常 并且我已经测试并在点击屏幕时注册触摸 但是当我尝试在点击时调用绘制圆圈的方法时 我收到错误 CG ContextBlah
  • iOS 电池监控 Swift

    我已将监控设置为启用 但模拟器和设备中的电池电量仍然为 1 UIDevice currentDevice batteryMonitoringEnabled true var level UIDevice currentDevice batt
  • 设置/覆盖 UICollectionView 中单元格之间的填充

    我有一个 UICollectionView 但在获取单元格之间的填充时遇到了问题 理论上 我应该能够将屏幕除以 4 并且我可以获得包含 4 个图像的单元格大小 完美地占据屏幕宽度 但是 它选择不这样做 相反 它会创建 3 个具有巨大填充的图

随机推荐

  • 在Python3中通过索引访问dict_keys元素

    我试图通过索引访问 dict key 的元素 test foo bar hello world keys test keys dict keys object keys index 0 AttributeError dict keys ob
  • 将文本与 R 中可变大小的绘图对齐

    我对使用 R 的强大功能创建图形输出还很陌生 我使用metafor package中的forest 函数来创建荟萃分析的森林图 我使用循环生成多个绘图 然后通过 png 保存它们 for i in 1 ncol df 2 dat lt es
  • javax.persistence.TransactionRequiredException:没有事务正在进行中 - Spring Batch

    我在用Spring Boot Batch例子 在此示例中 我正在读取数据XML并写信给MySQL数据库 这是源代码 https www linkedin com pulse spring batch read xml prateek ash
  • Oracle 中的 NLS_CHARACTERSET WE8ISO8859P1 和 UTF8 问题

    我目前在 oracle 中使用具有 NLS CHARACTERSET WE8ISO8859P1 的数据库 所以可以说我在 varchar2 字段中存储了一个值为 ma 重音字符 的值 因此在数据库中它存储为 ma 现在 当我尝试使用查询 s
  • 警告:函数“system”的隐式声明

    我的编译器出现错误 Warning implicit declaration of function system I added system cls 为了能够清除屏幕 现在我收到错误 我正在使用这段代码来测试 include
  • 在表单标签中打开默认输入

    I have the next application https codesandbox io s uwmig file index js There users can add as many fields as they want a
  • 如何根据帖子的日期和标题设置博客文章的永久链接?

    我有这个网站http www finalyearondesk com 我的博客帖子链接是这样设置的 http www finalyearondesk com index php id 28 我希望它像这样设置 Finalyearondesk
  • AWS RDS:使用 Navicat 连接

    我刚刚在弗吉尼亚北部创建了 RDS 实例并尝试使用 Navicat 连接该数据库 但我无法连接它 在网上搜索后我知道我们需要配置安全组 但就我而言 有一条通知 Your account does not support the EC2 Cl
  • “NewUserClient”应该如何实现

    我正在尝试与应用程序中的 ext 进行交互 我可以使用找到该服务IOServiceOpen我接到电话NewUserClient我的 dex 我可以看到type传递的参数正在日志中输出 在此之后我有点失落 在这里阅读有关新用户客户端我可以看到
  • WebBrowser (MSIE) - 使用 IOleCommandTarget 的 Exec 捕获 JS 错误

    我需要捕获 MS IE activex 控件 称为 WebBrowser 中的脚本错误 据我所知 这是由在我的应用程序中实现 IOleCommandTarget 接口并侦听 OLECMDID SHOWSCRIPTERROR 我执行了上述操作
  • Android中如何从DialogFragment获取数据到MainActivity?

    我使用创建一个应用程序DialogFragment 我想从中获取数据DialogFragment and setText in the MainActivity 在我的代码中我成功创建了AlertDialog 但我无法得到EditText价
  • Android 工具栏中心标题和自定义字体

    我试图找出为工具栏标题使用自定义字体的正确方法 并将其置于工具栏中央 客户要求 目前 我正在使用旧的 ActionBar 并且我将标题设置为空值 并使用setCustomView放置我的自定义字体 TextView 并使用 ActionBa
  • Tensorflow:模块必须应用于其实例化的图中

    我正在尝试使用 Django 提供通用句子编码器 代码一开始被初始化为后台进程 通过使用 Supervisor 等程序 然后使用 TCP 套接字与 Django 进行通信 并最终返回编码的句子 import socket from thre
  • 在 Windows 中安装 ImageMagick for paperclip gem

    我按照本指南使用回形针一切都好但是请注意 要启用调整大小 您需要在服务器上安装 ImageMagick 那么我应该如何安装ImageMagick 我有 WINDOWS 8 并在网站上http www imagemagick org 下载不了
  • 在 JMeter 中有条件地重新启动用户线程

    我知道我可以在 JMeter 中有条件地停止线程 在我的脚本中 我发送一个请求 然后提取它们的响应 json 以进一步处理它 在一些罕见的情况下 参数响应提供了一些我无法在进一步步骤中处理的值 我实际上可以通过提取另一个参数来检测这个有效响
  • 在 iOS 4 上使用 OCMock 验证测试设备异常退出,代码为 134

    我正在尝试将 OCMock 添加到我的 iOS 4 项目中 为了测试它 我有一堂课Person用一种方法 hello 当我运行这个测试时 void testMock id mock OCMockObject mockForClass Per
  • java无法删除文件?

    我正在尝试删除文件夹中的所有文件 import java io public class AddService public static void main String args File folder new File inputs
  • polymorphic_allocator:我何时以及为什么应该使用它?

    Here文档是关于参考参数 here是工作草案 我必须承认我不明白这样做的真正目的是什么polymorphic allocator以及我应该何时 为什么 如何使用它 举个例子 pmr vector有以下签名 namespace pmr te
  • 使用语义标记进行延迟图像加载

    我有一个图像非常丰富的网站 为了节省用户的带宽 我想在图像进入视口时延迟加载图像 有各种 jQuery 插件和类似的东西可以实现这一点 这是以放置实际图像网址而不是在src属性但在其他地方 这使得标记不太好 更糟糕的是 搜索引擎爬虫不太容易
  • 当状态栏旋转时隐藏时调整视图

    我四处浏览寻找这个问题的答案 但我只找到了有类似问题的人 而不是这个确切的问题 所以希望这里有人可以帮助我 我有一个 iPad 应用程序 在 iPad 上 当您纵向或横向握住 iPad 时 始终会显示带有时钟和电池的状态栏 出于这个原因 我