iOS 11 导航栏高度自定义

2023-12-09

现在在 iOS 11 中,sizeThatFits方法不是从调用的UINavigationBar子类。改变框架UINavigationBar导致故障和错误的插入。 那么,现在有什么想法如何自定义导航栏高度吗?


根据苹果开发者的说法(看here, here and here),不支持在 iOS 11 中更改导航栏高度。Here他们建议采取解决方法,例如在导航栏下方(但在其外部)查看视图,然后删除导航栏边框。结果,您将在故事板中看到以下内容:

enter image description here

在设备上看起来像这样:

enter image description here

现在您可以执行其他答案中建议的解决方法:创建一个自定义子类UINavigationBar,将您的自定义大子视图添加到其中,覆盖sizeThatFits and layoutSubviews,然后设置additionalSafeAreaInsets.top导航顶部控制器的区别customHeight - 44px,但栏视图仍将是默认的 44px,尽管视觉上一切看起来都很完美。我没有尝试覆盖setFrame,也许它有效,但是,正如苹果开发人员在上面的链接之一中所写的那样:“......并且也不[支持]更改 UINavigationController 拥有的导航栏的框架(只要导航控制器认为合适,它就会很高兴地踩踏您的框架更改)。”

就我而言,上述解决方法使视图看起来像这样(调试视图以显示边框):

enter image description here

可以看到,视觉效果相当不错,additionalSafeAreaInsets正确地将内容向下推,大导航栏可见,但是我在此栏中有一个自定义按钮,并且只有标准 44 像素导航栏下方的区域是可单击的(图像中的绿色区域)。低于标准导航栏高度的触摸不会到达我的自定义子视图,因此我需要调整导航栏本身的大小,苹果开发人员表示不支持这一点。

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

iOS 11 导航栏高度自定义 的相关文章

  • Xcode 8:使用 iOS 9.3 基础 SDK 编译?

    我在 Xcode 8 0 beta 8S128d 中将 iOS 应用程序升级到 Swift 3 0 我以为一切都已准备就绪 并将其上传到 iTunes Connect 当我点击 提交审核 时 它给了我一个包含 26 个错误的列表 每个嵌入式
  • 隐藏故事板中的导航栏

    谁能告诉我如何隐藏故事板中的导航栏 我下面的代码在模拟器中运行时工作正常 但它仍然出现在我的故事板中 这真的很烦我 因为它弄乱了我的图像的位置 有人可以帮忙吗 void viewWillAppear BOOL animated super
  • 在 swift ios 中播放远程 mp3 文件需要花费大量时间

    我有麻烦了 我想在我的应用程序中播放远程 mp3 文件 但 mp3 文件需要很长时间 大约 5 6 分钟 来播放 为什么 任何人都可以建议我应该做什么 import UIKit import AVFoundation class TestV
  • TestFlight Beta 中的消息不可用

    I am seeing Unavailable message in TestFLight Beta App in iOS8 Please find the attached screenshot please tell me how to
  • iOS 低内存崩溃,但内存使用率非常低

    这已经困扰我很长时间了 我的应用程序运行占用大约 2 74MB 内存 没关系 但当它创建 UIWebView 时 它会增加到大约 5 87MB 并继续崩溃 这些是在我的第一代 iPad 上运行时仪器中的实时字节下给出的值 我找不到崩溃日志
  • 如何将 Android 应用程序添加到已在 iOS 应用程序中使用的现有 Firebase 项目?

    我一直在我的 iOS 应用程序中使用 Firebase 项目 我现在想开始为 Android 应用程序使用相同的 Firebase 项目及其所有数据库和存储 在您的应用程序下Overview菜单 你应该按添加另一个应用程序并选择Androi
  • Swift:如何让游戏中的角色只有落地后才能跳跃?

    我正在开发一款游戏 我的角色可以从一个陆地跳到另一个陆地 我已经把所有事情都做好了 除了我剩下的问题是 如果你继续点击屏幕 他可以永远跳跃 我希望他必须先落地才能再次跳跃 import SpriteKit import GameplayKi
  • 从 ios 应用程序到 symfony2 Web 应用程序的登录和管理会话

    我使用 Symfony2 开发了一个 Web 应用程序 我用过FOS用户包用于用户管理和安全 现在 我正在考虑为我的网络开发一个本机 iOS 应用程序 但并不真正知道如何解决从应用程序创建会话的问题 并在整个交互用户应用程序中维护它 换句话
  • iPhone:每日本地通知

    我正在尝试实现本地通知 这就是我所设置的 Current date NSDate date NSDate date Add one minute to the current time NSDate dateToFire date date
  • 更改目录时 Gitlab CI 运行程序作业失败退出状态 1

    我正在使用我的个人机器作为使用 Fastlane 的 iOS 项目的运行程序 这主要是因为共享运行器没有为 iOS 设置 因为它们没有安装 Xcode 更改目录时我的作业立即失败 它是一个 shell 运行程序 根本没有其他自定义配置 有什
  • 无法在 xcode 8 beta 6 上编译 AWS CustomIdentityProvider

    我在 iOS 应用程序中使用 Amazon Cognito 和 Facebook 登录 直到 beta 5 为止此代码从这个SO线程 https stackoverflow com questions 37597388 aws cognit
  • 自定义 UINavigationController UINavigationBar

    基本上我想要一个定制UINavigationBar 我不希望它是 半透明 或任何东西 就像图片应用程序一样 我基本上想完全删除它 但我仍然希望能够在按下导航控制器时添加后退按钮等 并且我想要视图 例如 UITableViewControll
  • 按升序对 NSDictionary 进行排序

    我正在尝试排序NSDictionary按升序排列 我正在使用这段代码 NSDictionary valDict self mGetDataDict key rowKey for NSString valueKey in valDict al
  • iOS 7 NS 单线程安全合并冲突

    重新排序两行后 在单线程应用程序上保存简单的数据时遇到问题 我已经成功地简化了编码以重现错误 并且希望其他人尝试这一点时得到第二个意见 这是一次健全性检查 因为我怀疑 iOS 7 引入的核心数据问题 而这在 iOS 6 中工作正常 首先 启
  • 广告标识符和标识符ForVendor返回“00000000-0000-0000-0000-000000000000”

    我已经实现了这个方法来获得advertisingIdentifier and identifierForVendor NSString advertisingIdentifier if NSClassFromString ASIdentif
  • 使用javascript以编程方式触发iOS safari中的复制菜单?

    我正在尝试实现一种用户友好的方式 将一些文本从文本输入字段复制到 iOS Safari 上的剪贴板 我知道无法在这个平台上以编程方式完成此操作 但我希望能够尽可能地指导用户体验 在 iOS Safari 上 当用户手动突出显示某些文本时 会
  • UITableViewCell 内嵌套 UIStackView 内的 UILabel 有时会被截断

    我的一个表设置中有一个表视图单元格 其中包含以下视图层次结构 外部水平 stackview 固定到单元格内容视图的尾部 前部 底部和顶部边缘 右侧标签固定到其父 stackViewHackView 的尾部 前部 底部和顶部边缘 在我的控制器
  • 将 NSFetchedResultsController 添加到项目后出现问题

    我设置 CoreData 时没有NSFetchedResultsController一切都保存得很好 切换到之后NSFetchedResultsController 我在尝试保存图像时遇到奇怪的错误 这是我用来保存图像的代码 void sa
  • 找不到 Cocoa/Cocoa.h 文件

    我在用XMPPFramework在我的应用程序中 我已将 Cocoa Cocoa h 导入到我的 m 文件中 但是当我构建项目时Xcode显示错误 错误 未找到 Cocoa Cocoa h 文件 我该如何解决这个错误 如果您正在为 iOS
  • 具有隐式授权的 OAuth 应用程序中的客户端模拟

    来自 OAuth 草案 隐式section https datatracker ietf org doc html draft ietf oauth v2 31 section 1 3 2 在隐式授权流程期间发出访问令牌时 授权服务器不对客

随机推荐

  • AnyLogic Attractor 奇怪的行为

    我的理解是 节点内的吸引子的容量应该为 1 从某种意义上说 在 3D 动画中 每个吸引子应该只有一个代理 当我运行模型时 我看到同一个吸引子上有两个代理形状 而其他吸引子是空的 这是正常行为吗 有没有办法防止这种情况发生 请注意 这种情况并
  • pgAdmin III 的错误行为?

    我在 pgAdmin 上进行查询时偶然发现了这种奇怪的行为 我已连接到运行 PostgreSQL 9 1 9 的服务器 我有一个名为 messages 的表 其定义如下 ghareh godot psql psql 9 1 9 Type h
  • 错误:“f”的类型与之前的“f”声明存在冲突

    这段代码只是我在实际代码中发现的一种情况 它非常大 所以我给出这个 在此代码中 结构 struct node 未定义 它是在另一个 c 源文件中定义的 我的c源代码 test c 1 include
  • 字节变量的 VBA 溢出错误

    有人可以解释一下为什么当操作的接收者时以下代码会在 VBA 中生成溢出错误c is an Integer Dim a As byte b As Byte Dim c As Integer a 3 b 100 c a b 或者这是否意味着涉及
  • 将整数转换为十六进制

    我只需要将整数转换为十六进制 实际上我有一个字符数组 在其中存储十六进制值 int var var self getValue char hexValues 5 hexValues 0 0x02 hexValues 1 0x04 hexVa
  • Heroku 应用程序和 mysql 的 config.php 代码出错

    我正在使用 Heroku for PHP 我查看了 Heroku 日志 发现 config php 代码中有错误 我正在为我的编码组合制作一个 Spotify 克隆 我使用 xampp apache mysql 成功制作了该组合 但现在我需
  • 在针对顺序运行进行优化的程序上使用 openMP 后没有性能提升

    我已经尽可能地优化了顺序运行的功能 当我使用 openMP 时 我发现性能没有提高 我在1核机器和8核机器上测试了我的程序 性能是一样的 将年份设置为 20 我有1 核 1 秒 8 核 1 秒 将年份设置为 25 我有1 核 40 秒 8
  • 将重复文本文件上传到 SQL Server 的最简单方法

    我有一个制表符分隔的日志文件 其中该日志文件中的新数据需要转储到 sql server 2008 数据库中 我想知道自动化此操作的最佳方法是什么 我可以在管理工作室内使用哪些服务来帮助我 如果你有SQL Server Integration
  • 创建信封时出现 ACCOUNT_LACKS_PERMISSIONS 错误

    我在创建信封时收到此错误 DocuSign eSign Client ApiException Error calling CreateEnvelope errorCode ACCOUNT LACKS PERMISSIONS message
  • HTML 中的 PHP 不起作用

    我只是想知道为什么这个 HTML 文件不显示任何内容 我在网络服务器上运行它 文件名是index php 我已经修复了 您应该确保提供以下信息 PHP 在您的服务器上 文件必须以 php 结尾 使用开放标签
  • 倾斜位图,RGB565 C# 的步幅计算

    我生成的图像有些是倾斜的 有些则不是 预期结果 529x22 实际结果 529x22 不要介意不同的图像尺寸 这些是屏幕截图 它们的尺寸均为 529x22 我正在使用的代码是我刚刚从 SO 的一个问题的答案中得到的 some other m
  • OWIN 上的 Application_PreSendRequestHeaders()

    我有一个不使用 OWIN 中间件的应用程序 并且具有以下内容Global asax public class MvcApplication HttpApplication protected void Application Start p
  • 从 Jenkins 外部调用 Jenkins 构建?

    我是 Jenkins 的新手 我不确定这是否可行 但我想设置一个 Web 界面 有人可以单击 开始作业 这将告诉 Jenkins 开始特定的构建作业 Jenkins 有支持这样的网络服务吗 如果是这样 一个简单的例子是什么 这是文档的链接
  • Ruby 已经在使用我的模型的类名

    我正在制作一个具有各种授权级别的论坛应用程序 其中之一是监视器 我通过扩展我的 User 类来做到这一点 并且我计划使用 ship 类 例如管理员身份 作者身份 主持人身份等 对其进行微调 显然 Monitor 类是 ruby 的一部分mi
  • 依赖 UIPickerView

    有谁知道如何制作依赖 UIPickerView 例如 当我选择组件一的第 2 行时 组件二的标题会发生变化吗 我在互联网上查看过 没有真正的答案 我尝试过使用 if 和 switch 语句 但它们只是崩溃了 这取决于您将如何保存数据 例如
  • Mongo 3.6 多条件聚合查找

    假设我有一个只有一个集合的 Mongodbdata 在这个集合中 我有以下文件 type person value id 1 name Person 1 age 10 type person value id 2 name Person 2
  • 带有扩展工具栏的 Android Material

    我正在测试材料设计 并且正在使用扩展工具栏开发一个应用程序 我的应用程序非常简单 主要活动扩展ActionBarActivity我的布局如下所示
  • 如何在递归 LINQ 函数中验证父项是否有子项?

    我正在执行一个递归 LINQ 函数 如问题中所述 在 C 中模拟 CTE 递归 我的代码如下 private static IEnumerable
  • Java中通过引用获取对象

    新来这个网站 很高兴分享我的第一个问题 好吧 我将解释一下我目前的设置 以便更好地理解我的问题 我有2个java应用程序 逻辑应用 所有重负载发生的地方 检测应用程序 检测到正在运行的游戏的应用程序 我对这两个应用程序所做的事情是使用仪表化
  • iOS 11 导航栏高度自定义

    现在在 iOS 11 中 sizeThatFits方法不是从调用的UINavigationBar子类 改变框架UINavigationBar导致故障和错误的插入 那么 现在有什么想法如何自定义导航栏高度吗 根据苹果开发者的说法 看here