旋转时调整 UINavigationBar 的大小

2023-12-19

我有一个 UIViewController 的子类,它处理 UIView。视图控制器以模态方式呈现(它从屏幕底部向上滑动)。在视图的顶部,我添加了一个导航栏。请注意,该栏不是由导航控制器处理的。

我想让导航栏在视图旋转到横向时缩小高度(类似于 UINavigationController 处理它时的行为)。但是,我无法在 IB 中将其自动调整大小掩码设置为灵活高度,并且在代码中这样做会导致导航栏完全消失。

有没有办法做到这一点? UINavigationController 是如何完成的?

附:我宁愿不必诉诸缩放变换,因为这会弄乱标题中的文本。

编辑:我在一点帮助下解决了这个问题,请阅读下面发布的答案。


为什么不直接检查 viewWillAppear 以及 didRotateFromInterfaceOrientation 中的当前方向,并设置适当的框架,而不是设置它的自动调整大小蒙版?

- (void) updateNavBar {
    UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
    if ((UIInterfaceOrientationLandscapeLeft == orientation) ||
        (UIInterfaceOrientationLandscapeRight == orientation)) {
        myNavBar.frame = CGRectMake(0, 0, 480, 34);
    } else {
        myNavBar.frame = CGRectMake(0, 0, 320, 44);
    }
}
- (void) viewWillAppear {
    [self updateNavBar];
    // ... SNIP ...
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
    [self updateNavBar];
    // ... SNIP ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

旋转时调整 UINavigationBar 的大小 的相关文章

  • 特定时间的 iPhone 本地通知

    我想每周晚上 10 点 无论哪个国家 地区 发出通知 我需要使用时区吗 目前 我使用下面的代码每周触发通知 但如何在晚上 10 点准确触发通知 NSDate date NSDate date NSDate myNewDate date da
  • 如何将 UIPopoverPresentationController 的高度设置为与 UITableView 相同

    我在我的应用程序上使用 UIPopoverPresentationController 在我的 iPhone 上显示弹出窗口 使用 UIModalPresentationNone 我希望尺寸随着 UITableView 的高度而动态变化 但
  • 如何通过填充 NSDictionary 以 JSON 格式发送 UIImage

    我正在尝试使用 JSON 将数据发送到服务器 我可以使用我的对象和关键参数创建 NSDictionary 但我想发送我的图片 图片是UIImage NSDictionary mainJSON NSDictionary dictionaryW
  • iOS 4.0 contentScaleFactor 和比例 - 在 3.1.3 中如何处理?

    我的任务是制作一个在 iOS 4 0 中运行的应用程序再次在 3 1 3 和 3 2 中运行 大多数情况下 它很简单 但处理新 API 的扩展和其他必须传递 返回值的情况很困难 respondsToSelector performSelec
  • 在iPhone上将CSV文件读入sqlite3

    有没有办法在iPhone上将CSV文件读入sqlite3 sqlite3 是否有类似于 SQL 命令的功能 LOAD DATA LOCAL INFILE file csv INTO TABLE TABLENAME FIELDS TERMIN
  • NSString keepCount 是 2147483647 [重复]

    这个问题在这里已经有答案了 可能的重复 NSString 保留计数 https stackoverflow com questions 1390334 nsstring retain count Objective C NSString 属
  • 使用 AVMutableVideoCompositionLayerInstruction 旋转视频

    我正在 iPhone 4 上使用前置摄像头拍摄视频 并将视频与其他一些媒体资源结合起来 我希望该视频为纵向 所有视频的默认方向都是横向 在某些情况下 您必须手动管理 我正在使用 AVFoundation 特别是 AVAssetExportS
  • 如何在 UITableView 中显示零行的表格

    我正在动态地将内容加载到 UITableView 中 如果有数据 表格需要显示数据 如果没有数据 表格应显示普通页面 但在我的应用程序中 表格显示带有两条分隔线的普通页面 我需要删除此分隔线并显示纯白色页面 请建议 任何帮助 将不胜感激 如
  • 如何使用 NSUserDefaults 正确工作(检索值)

    我的代码中有一个简单的方法 如下所示 BOOL isFirstTimeLogin NSString t gName NSString stringWithFormat NSUserDefaults standardUserDefaults
  • 如何以编程方式更改 iPhone APN(接入点名称)?

    如何以编程方式更改 iPhone APN 接入点名称 或者强制 3G GPRS 连接以编程方式使用特定的 APN 无法通过 SDK 完成 第三方应用程序无法对硬件进行这种级别的控制 尤其是蜂窝调制解调器
  • 直接在 XCode 中编译 Arm Assembly

    将arm汇编代码编译成xcode的最佳方法是什么 我有生成的那些程序集文件 有没有办法可以将 s 文件直接包含到我拥有的 C 代码中 或者我需要先运行一个预处理器 它将生成 o 文件 我可以将其与我的文件链接 如果是这样的话 在 XCode
  • 接收者'ClassName'是一个转发类,对应的@interface可能不存在

    我目前正在寻找一个UIPickerTable在 UIPickerView subviews 内 所以我循环并执行isKindOfClass UIPickerTable class 它有效 但由于 UIPickerTable 的标头未公开 我
  • 在 Matplotlib 中将文本旋转到对数刻度线上

    Problem 我正在处理对数刻度的数据 并希望旋转它以适合一条线 我知道模型 但不确定我应该插入哪个角度transform angles以恢复正确的旋转 经过一番尝试和错误后 我知道对于我需要的轴限制 答案是 10 度左右 MWE imp
  • 主屏幕上 iPhone Web 应用程序上的 Google appengine 身份验证

    我正在使用 Google appengine 开发一个可在浏览器和 iPhone 上使用的 Web 应用程序 我已经为此应用程序购买了域名 这样我就有了一个漂亮的 URL 我用过User API http code google com a
  • PhoneGap 上的 SQLite 数据库

    我想使用 PhoneGap 为 iPhone 实现 SQLite 数据库 我了解 iPhone 本机应用程序中 SQLite 数据库的一些基础知识 但是如何在 PhoneGap 中实现 SQLite 数据库呢 我们最终使用了PhoneGap
  • 核心数据executeFetchRequest消耗大量内存

    我正在核心数据数据库中插入 cca 100 000 条记录 数据库包含 3 个实体 球员 俱乐部 球员俱乐部 实体之间存在关系 玩家 gt 玩家俱乐部俱乐部 在 PlayerClub 中插入时 我注意到插入大约 50 000 条记录后会消耗
  • 获取动画滚动视图的当前位置

    我遇到了以下问题 我对 uiscrollview 进行了子类化 其中 contentOffset 通过以下代码进行动画处理 UIView animateWithDuration 1 0 delay 1 0 options options a
  • UISearchDisplayController—为什么我的搜索结果视图包含空单元格?

    我快要疯了 在我的核心数据数据库中 我有很多用户 我已经通过 NSFetchedResultController 将数据库连接到 tableviewcontroller 当视图加载时 我看到了所有用户 我可以通过 Storyboard Se
  • 在 Pickerview 中创建复选标记[重复]

    这个问题在这里已经有答案了 我正在开发一个应用程序 我想在用户选定的行上创建复选标记 For Ex 在UITableView中有 UITableViewCellAccessoryCheckmark 但我想知道是否有类似的东西可用于 UIPi
  • 如何顺序访问字典?

    我想以元素存储在字典中的方式访问字典 有人可以帮我做这件事吗 提前致谢 字典将其值存储在由键或更精确地由键的哈希值索引的结构中 这就是他们速度很快的原因 他们不需要搜索值 他们只需获取键的值并直接查找值 在大多数情况下 只有在发生冲突的键哈

随机推荐

  • 尝试了解 .NET Core 中 appsettings.json 与 web.config 的新行为,但对 MSDN 上相互矛盾的信息感到困惑

    因此 我正在阅读 MSDN 上的所有 NET Core 基础知识文章 同时在 Visual Studio 2017 中开发新的 NET Core MVC 应用程序 我在文章中阅读的内容与实际内容之间似乎存在一些不一致 我在我的申请中看到 我
  • 查找字符串中某个字符的索引

    我有一根绳子NSString Original 88 12 sep 2012 or Original 8 blablabla 我只想打印 之前的字符 那么如何找到字符 的索引 或者我该怎么做 提前致谢 要打印第一个右括号之前的字符 您可以这
  • 使用 wicket 进行单元测试时如何设置自定义会话?

    我正在尝试在仅允许您登录后访问的 wicket 页面上运行一些单元测试 在我的 JUnit 测试中 如果不设置会话 我无法启动页面或呈现它 你如何设置会话 我在查找有关如何执行此操作的任何文档时遇到问题 WicketTester teste
  • random.setstate() 和 random.seed() 之间差异或相似之处的确切性质是什么

    我对使用种子生成随机数有一个非常高的理解 因此 在生成随机数之前设置特定的种子将导致每次调用时生成相同的数字 我假设通过以下方式恢复状态 import random test123 random getstate random setsta
  • 在 WPF MediaElement 中播放 HTTPS 视频 URL 的解决方法

    我有一个 C WPF 应用程序 我需要通过 HTTPS 播放视频流 我说的是 YouTube 视频 通过使用提取的直接 URLYouTube爆炸 https github com Tyrrrz YoutubeExplode 众所周知 WPF
  • 如何在Retrofit 2中使用gson TypeAdapter?

    我有一个工作代码 其中我的改造客户端可以从 api 检索对象列表 国家 地区 问题是 如果我用来检索所有国家 地区 则 api 使用的参数会返回一个 ARRAY 那么当我想要查询单个国家 地区时 它会返回单个 OBJECT 结果显示以下异常
  • SQLite 中空安全相等运算符 <=> 的等价物是什么?

    我需要确定 SQLite 的等价物是什么 运算符 http dev mysql com doc refman 5 0 en comparison operators html operator equal to在 MySQL 中 任何想法
  • 用于协调的 SQL 语句

    给出以下架构 create table TBL1 ID varchar2 100 primary key not null MATCH CRITERIA varchar2 100 create table TBL2 ID varchar2
  • 多处理另一个函数的函数

    我正在对模拟的时间序列进行分析 基本上 它为每个时间步骤执行相同的任务 由于时间步数非常多 并且每个时间步的分析都是独立的 因此我想创建一个可以多处理另一个函数的函数 后者将有参数 并返回结果 使用共享字典和 lib并发 futures 我
  • Storm-Kafka多个spout,如何分担负载?

    我正在尝试在多个喷口之间分担任务 我遇到一种情况 我一次从外部源获取一个元组 消息 并且我想要拥有多个 spout 实例 其背后的主要目的是共享负载并提高性能效率 我可以对一个 Spout 本身执行相同的操作 但我想在多个 Spout 之间
  • 从 64 位的 SysListView32 获取文本

    这是我的代码 public static string ReadListViewItem IntPtr lstview int item const int dwBufferSize 1024 int dwProcessID LV ITEM
  • ngx-datatable 的通用“包装”组件

    一些介绍 我们目前正在开发一个基于 Angular2 的应用程序 该应用程序数据量很大 为了显示这些数据 我们决定给出ngx 数据表 https github com swimlane ngx datatable尝试一下 需要大量组件来显示
  • Android:创建自定义容器视图

    我正在尝试在 android 中创建一个自定义视图 或更好的布局 它用作 2 个子视图的容器 将其视为垂直分隔 2 个容器的条形图 可以上下滑动 我想像 xml 中的布局一样使用它 以便您可以在其中嵌套任何视图 我想到了类似的事情
  • 更新企业应用程序的 iOS 开发和 APNs 生产 [AirWatch]

    我为我的公司开发了一个 iOS 应用程序 我们通过 AirWatch 分发它 有些证书即将过期 试图弄清楚该怎么做是非常令人困惑的 我用谷歌搜索了一下 似乎每个页面都有不同的信息 如果有人能指出我正确的方向 我真的很高兴 我有一张 iOS
  • glGenerateMipmap 需要哪个内存屏障?

    我已使用 GL ARB shader image load store 写入纹理的第一个 mipmap 级别 文档指出 在其他操作中使用该图像的内容之前 我需要调用 glMemoryBarrier 以便适当地刷新缓存 例如 在执行 glTe
  • MPNowPlayingInfoCenter 与 Apple Music 冲突

    我正在开发一个在后台播放音乐的音乐播放器 该应用程序与 Spotify 和 Apple Music 集成 用户将仅在其中一项服务中进行身份验证 目前 我可以使用这两种服务在应用程序和后台播放音乐 我也能够设置MPNowPlayingInfo
  • MySql 查询:从表中为每个类别选择前 3 行

    我有一个包含记录的表 它有一行名为category 我插入了太多文章 我只想从每个类别中选择两篇文章 我尝试做这样的事情 我创建了一个视图 CREATE VIEW limitrows AS SELECT FROM tbl artikujt
  • 为什么在 PHP 中对日期格式为“YYYY-MM-DD”的两个字符串进行小于或大于比较会起作用,即使它们是字符串?

    我正在为一个项目编写一段 PHP 代码 该项目将 YYYY MM DD 格式的日期与当前日期进行比较 以查看它是否小于当前日期 在代码的不同点 使用了两种不同的方法进行比较 第一个使用的get timestamp 日期并根据时间戳进行比较
  • 在 MATLAB 中使用转置与 ctranspose

    在 MATLAB 中转置向量 矩阵时 我只看到并使用了 撇号 运算符很长一段时间 例如 gt gt v 1 2 3 v 1 2 3 然而这是共轭转置正如我最近发现的那样 或者ctranspose 这似乎只在涉及复数时才重要 如果你想转置矩阵
  • 旋转时调整 UINavigationBar 的大小

    我有一个 UIViewController 的子类 它处理 UIView 视图控制器以模态方式呈现 它从屏幕底部向上滑动 在视图的顶部 我添加了一个导航栏 请注意 该栏不是由导航控制器处理的 我想让导航栏在视图旋转到横向时缩小高度 类似于