自定义后退指示图像和 iOS 11

2024-03-11

我在我的应用程序中使用自定义后退按钮。这个自定义后退按钮是全局设置的,如下所示:

    UINavigationBar.appearance().backIndicatorImage = UIImage(named: "Back").withRenderingMode(.alwaysOriginal)
    UINavigationBar.appearance().backIndicatorTransitionMaskImage = UIImage(asset: .back).withRenderingMode(.alwaysOriginal)

在 iOS 11 之前,这段代码可以实现这一目的,但现在在 iOS 11 中,按钮不再垂直居中,如下所示:

我可以将后退按钮图像的高度更改为 44,但这会在 iOS

EDIT:

事实证明,正如banxii1988所说,问题是由setBackButtonTitlePositionAdjustment当这些值故意将标题移到可见屏幕之外时。这是一个避免删除每个视图控制器中的后退按钮标题的黑客行为。我决定删除这个黑客​​,我做了正确的事情:

  1. 将故事板中的后退按钮项目设置为" ".
  2. 在每个没有关联故事板的视图控制器中,我设置 这backBarButtonItem以编程方式navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)

请注意,您在视图控制器中看到的后退按钮标题是在导航堆栈中的前一个标题中设置的。


1)删除PositionAdjustment(如果有)。例如

  bap.setBackButtonTitlePositionAdjustment(UIOffset(horizontal: 0, vertical: -64), for: .default)

2) 检查导航堆栈中的前一个 ViewController 是否有标题

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

自定义后退指示图像和 iOS 11 的相关文章

  • NSPredicate 查询不包含特定字符串

    对这个问题进行了高低查找 但找不到我的答案 我正在查询核心数据以查找不等于指定字符串的所有记录 例如 所有不等于当前会话ID的记录 我已经尝试过这些但无济于事 NSPredicate predicate NSPredicate predic
  • iPhone - 创建图像网格列表

    我正在开发一个应用程序 它从网站获取图像并使用网格视图向用户显示 例如Apple的照片应用程序 当您点击图像时 我会推送一个显示图像信息和其他内容的视图控制器 实现这个的更好方法是什么 我想到了自定义 UITableViewCell 我见过
  • 应用程序在第二次运行 nsnull 计数的循环时崩溃

    我有一个循环 第一次运行正常 但第二次循环时我得到 NSNull count unrecognized selector sent to instance 0x3a094a70 Terminating app due to uncaught
  • 移动 Safari 中的文件上传和 EXIF

    正如这些问题中所指出的 在某些情况下 iOS 上上传的照片的地理位置和其他 EXIF 元数据会被删除 在 safari 中 https apple stackexchange com questions 326789 gps exif fr
  • 找不到导航对象。您的组件是否位于导航器屏幕内?

    在我下面的代码中 当我使用 useNavigation 时 它会给出像我的问题一样的错误 如何使用useNavigation 请任何人都可以解决此错误 错误 找不到导航对象 您的组件是否位于导航器屏幕内 我从这里跟踪了代码https rnf
  • Swift 3 '[UIApplicationLaunchOptionsKey:任意]?'无法转换为 '[String : NSString]'

    我有一个 TVOS 应用程序已从 Swift 2 转换为 Swift 3 但出现以下错误 我不确定如何让它安静下来 UIApplicationLaunchOptionsKey 任意 无法转换为 String NSString 它出现在这段代
  • 在 iOS 中管理和解除多个视图控制器

    我是一名 iPhone 新手程序员 在开发我的第一个游戏 应用程序时 我为自己提出了一个问题 创造了一个问题 我对此进行了研究 并认为我已经看到了答案 但我不明白如何使它们适用于我的应用程序 我有一个游戏 有几个视图控制器 欢迎 玩 高分
  • 为什么我们在 @synchronized 块中传递 self ?

    我猜 synchronized 块不依赖于对象 而是依赖于线程 对吗 既然如此 我们为什么要传递 self 呢 synchronized是语言提供的用于创建同步作用域的构造 因为使用简单的全局共享互斥锁效率非常低 因此序列化每个单独的互斥锁
  • 从 Plist 中存储和检索 [重复]

    这个问题在这里已经有答案了 可能的重复 iOS 在 plist 文件中存储两个 NSMutableArray https stackoverflow com questions 6070568 ios store two nsmutable
  • Firebase 连接管理器应仅返回一个结果

    我正在关注位于以下位置的文档 https www firebase com docs ios guide offline capability html section connection state https www firebase
  • 使用 UIActionSheet 更改视图时工具栏项目消失

    当从 a 启动视图时UIActionSheet按钮 通过导航栏后退按钮返回视图后 工具栏虽然仍然可见 但上面没有任何以前的按钮 自从更新到 iOS 6 以来 这个错误就出现了 并且是在模拟器和仅运行 iOS 6 的设备上测试时发生的 如果我
  • iOS 解决方案仅当图像尚未使用 SDWebImage 缓存在内存中时才加载带有动画的图像

    我已经为这个问题苦苦挣扎了几天 以前我使用 AFNetworking 类别来加载和缓存图像 但它的回调中没有提供缓存类型 所以我过去常常在每个控制器中跟踪哪些图像已经加载 我浏览了 SDWebImage 它提供了我正在寻找的东西 SDIma
  • 对 UIImage 进行方形裁剪,导致图像拉伸

    当尝试执行 UIImage 的中心裁剪时 我得到以下结果 左侧是原始图像640 1136 右边是适合正方形的裁剪图像UIImageView at 320 320 turns to 我对比率元素进行了相当多的修改 以便它可以正确检测要修剪的量
  • iOS:从非图像数据生成图像(Godus,如风景)

    所以看到图像后Godus http www kickstarter com projects 22cans project godus我想知道如何生成简单的 非交互式的 2D 图像 with 不同高度或层数的颜色不同就像下面的图片一样 我只
  • iOS 中的等宽字体是什么?

    我想要在我的 iOS 应用程序中为 UILabel 使用等宽字体 不幸的是 我找不到一个 甚至 美国打字机 实际上也不是等宽的 XCode 中可用的等宽字体是什么 iOS 等宽字体 Courier Courier Bold Courier
  • 为了支持 iPhone 5 的更长屏幕,需要检查什么? [复制]

    这个问题在这里已经有答案了 可能的重复 iPhone 5屏幕尺寸如何处理 https stackoverflow com questions 12396545 how to deal with iphone 5 screen size iP
  • Cognito/IAM 策略和 S3 获取对象

    我正在尝试将 S3 和 Cognito 集成到我的 iOS 应用程序中 但到目前为止尚未成功 我相信该错误与我针对 Auth 和 Unauth 用户的 IAM 策略有关 所以这是我的政策 Version 2012 10 17 Stateme
  • 具有多种自定义单元格类型的 RxSwift 表视图

    我想知道是否有任何代码示例RxSwift当我可以在一个表视图中使用多个自定义单元格时 例如 我有两个部分 第一部分有 10 个单元格 类型为CellWithImage标识符和第二部分有 10 个带有类型的单元格CellWithVideo标识
  • iOS 发送 iMessage 尽可能简单

    我希望能够以编程方式发送 iMessage 除了调用一个将文本发送到带有消息的号码的函数之外 无需执行任何其他操作 这两个消息都是文本框 我真的很感激一些示例代码 因为我在网上搜索过 但我发现没有任何帮助 这不适用于商业应用程序 仅适用于我
  • iOS 对 Google 云消息传递的支持

    我在谷歌的开发者控制台中看到 GCM 允许为 iOS 生成 API 密钥 我在网上搜索了有关如何在 iOS 应用程序中通过 GCM 实现推送通知的任何类型的文档 但没有找到答案 真的有可能在 iOS 应用程序中使用 GCM 实现推送通知 j

随机推荐

  • 如何在 Jinja2 上解压多个变量

    我正在尝试在 jinja 模板引擎上解压多个变量 我怎样才能实现这个目标 我正在努力实现这样的目标 for item1 item2 item3 in items div class row div class four columns im
  • 如何检测文本区域的任何更改?

    我目前已将我的文本区域绑定到几个似乎有效的事件 然而 问题是事件重叠并触发多次 这反过来又使性能降低了太多 我想要做的几乎是捕获文本区域的任何更改 单击 粘贴 keyup keydown 右键单击上下文菜单编辑 右键单击 剪切 删除 粘贴
  • Telegram bot API:我可以混合使用自定义键盘和force_reply吗?

    我有一个自定义键盘 但要处理答案 我需要强制回复 以便我在下一条消息中收到问题 我已经这样做了 var opts reply markup JSON stringify keyboard OK Cancel one time keyboar
  • 导入错误:没有名为 pynotify 的模块。安装模块时

    所以这个错误不断出现 每次我尝试运行该脚本时 它都会返回 Traceback most recent call last File cli py line 11 in
  • Firebase 中现有的快照类型有什么区别?

    随着我在 Flutter 中的代码和编码经验的进一步发展 我在使用 Firebase API 时遇到过不同类型的快照 我说的是 AsyncSnapshots QuerySnapshots DocumentSnapshots 和 DataSn
  • 如何过滤指定时间段内的 Facebook 潜在客户

    我正在使用 Facebook API v4 获取潜在客户列表 使用 PHP 和库中内置的 get 方法 我想知道如何将日期范围传递到请求中以仅获取 2 个日期之间的潜在客户 我首先使用以下命令获取 adets 列表 request fb g
  • 生成类型类实例时无法证明单例类型是单例类型

    假设我有一个类型类 它证明 Shapeless 联积中的所有类型都是单例类型 import shapeless trait AllSingletons A C lt Coproduct def values List A object Al
  • ng-repeat 中的 Angular UI 工具提示未关闭

    请看下面的 plunker http plnkr co edit RPpjULZsSDnTFPKiafl2 http plnkr co edit RPpjULZsSDnTFPKiafl2 基本上 当向上 向下移动到 ng disabled
  • Windows:如何获取相机支持的分辨率?

    因此 为了获取相机列表并让用户选择一个 C Boost dshow Windows 我使用这样的代码 include StdAfx h include list h include
  • 将 1 通道图像转换为 3 通道图像

    我正在尝试在 OpenCV 2 3 1 中将 1 通道图像 16 位 转换为 3 通道图像 我在使用合并功能时遇到问题并收到以下错误 Mat temp tmp2 Mat hud tmp2 cv ptr gt image tmp2 conve
  • 使用decode() 与正则表达式来转义该字符串

    我有以下字符串 我正在尝试找出转义它的最佳实践 该解决方案必须有点灵活 因为我从 API 接收此输入 并且我不能绝对确定当前的字符结构 n相对于 r 将永远是相同的 If it ain t broke don t fix it nWent
  • 创建实用程序类?

    我对 OOP 非常陌生 并且正在尽最大努力使事情严格基于类 同时使用良好的编码原则 我现在已经进入我的项目了 我有很多通用方法想要放入实用程序类中 有没有创建实用程序类的最佳方法 public class Utilities int tes
  • 删除不是 .isin('X') 的行[重复]

    这个问题在这里已经有答案了 抱歉 刚刚进入 Pandas 这似乎应该是一个非常直接的问题 我怎样才能使用isin X 删除行are in列表X 在 R 中我会写 which a in b 你有很多选择 整理一下上面的一些答案和接受这篇文章的
  • S3(亚马逊简单存储系统)存储价格是如何计算的?

    我不太确定这是否是解决这个问题的正确堆栈交换站点 但我发现没有更适合的站点 我计划在下一个项目中使用 S3 但我不确定存储的价格实际上是如何计费的 如果我只是使用 S3 来放入千兆字节的数据并且几乎从不删除数据 那么我不会有任何问题 但事实
  • iOS 中的 Facebook 发帖错误

    在这里 我尝试使用以下代码向 Facebook 添加帖子 FBAppCall appCall FBDialogs presentShareDialogWithLink urlToShare name Title caption nil de
  • VSTS + 八达通部署?为什么我看到很多 CI/CD 设置都同时使用?

    我是一名正在转向 DevOps 的开发人员 通过观察 我注意到许多开发商店已经开始使用 Octopus Deploy 和 Azure Devops Services AzDo 以前称为 VSTS 或者他们正在启动新项目来设置 devops
  • scanf() 在操作系统中如何工作?

    我一直想知道 scanf printf 在硬件和操作系统级别实际上是如何工作的 数据在哪里流动以及操作系统在这些时间里到底在做什么 操作系统进行哪些调用 等等 scanf 和 printf 是 libc C 标准库 中的函数 它们分别调用
  • Vue.js 如何设置 :id 前缀字符串?

    class tab title v on click tab v for tabTitle index in tabTitleList id index 我在 vue 社区中找到了这个示例 但在我的情况下 我希望我的 id 有一个前缀 而不
  • 如何让 css3 border-image 在 IE9 中工作?

    我正在使用 border image 它适用于除 IE 之外的所有浏览器 对于 IE 版本 7 和 8 我有 css3pie 它可以正常工作 但我一直没能找到任何插件让它在 IE9 中工作 有没有办法可以破解它 使其在 IE9 中也能工作
  • 自定义后退指示图像和 iOS 11

    我在我的应用程序中使用自定义后退按钮 这个自定义后退按钮是全局设置的 如下所示 UINavigationBar appearance backIndicatorImage UIImage named Back withRenderingMo