UINavigationBar自定义背景问题

2023-12-01

我已成功使用以下方法将自定义背景添加到导航栏:

UIImageView *iv = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"UINavigationBar.png"]];
[myViewController.navigationBar insertSubview:iv atIndex:0];
[iv release];

这工作正常,我可以正常看到标题和按钮。但是,当我向下钻取一层然后返回到根时,按钮被隐藏,但标题仍然可见。导航栏图像似乎覆盖了按钮项目。

我很困惑,因为我将其插入底部,所以我假设当导航项被推送和弹出时,它们显示在导航栏中的其他视图之上。

有任何想法吗?

Thanks,

Mike


根据描述here,我建议在导航栏中添加一个类别。

@implementation UINavigationBar (UINavigationBarCategory)

- (void)drawRect:(CGRect)rect {
    // Drawing code 
    UIImage *img = [UIImage imageNamed: @"navbar_background.png"];
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextDrawImage(context, CGRectMake(0, 0, 320, self.frame.size.height), img.CGImage);

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

UINavigationBar自定义背景问题 的相关文章

  • 在相机视图上叠加一个框架,然后保存并使用生成的照片(捕获的内容和叠加框架)

    我希望我的应用程序中有一个功能 让您为自己或其他有名望的人拍摄一张照片 例如 通缉 然后用户拍摄照片 叠加层和照片将合并为一张 生成的图像可在代码中使用 任何想法从哪里 如何开始 有什么教程之类的 Cheers 它可能会有点棘手 处理应用于
  • 如何创建一个具有两个视图的 UIViewController,根据单击的按钮显示一个或另一个视图

    我对 iOS 开发还很陌生 但我陷入了困境 目前 我正在使用一个选项卡控制器在两个视图控制器 列表和地图视图 之间切换 这使得使用情节提要来配置两个视图的外观变得更加容易 现在需求已经改变 应用程序需要有一个带有分段控件的视图控制器 单击该
  • iPhone 和服务器上的 3DES 加密不同

    我有以下代码用于加密发送到服务器的请求 服务器上的解码由 NET 完成 在 iPhone 上 我使用带有以下代码的安全框架 NSString doCipher NSString plainText CCOperation encryptOr
  • SQLite。无法添加超过 1000 行

    我试图向我的 SQLite 数据库 使用 fmdb 添加 10k 行 但写入在 1000 行处停止 我没有任何错误或警告 我的代码 NSString queryString NSString stringWithFormat insert
  • 找不到 iOS 10 开发者磁盘映像

    我已将我的 iOS 设备更新到 iOS 10 现在 Xcode 在尝试使用 Xcode 7 3 1 在 iPhone 上运行时显示 无法找到开发人员磁盘映像 如何解决该问题并使 Xcode 支持 iOS 10 设备 如果您想在 iOS10
  • 实现点击任意位置即可取消的最佳方式(App Store 下载按钮)?

    我有一个用户界面元素 当我点击它时 它会动画到中间状态 点击屏幕上其他任何位置应取消交互 而再次点击 UI 元素则应继续 我已经使用防护视图 窗口的子视图和所有其他子视图之上 实现了这一点 然后在动画之前将元素重新设置为防护视图 但我很好奇
  • iPhone - dequeueReusableCellWithIdentifier 用法

    我正在开发一个 iPhone 应用程序 它有一个相当大的 UITableView 其中的数据来自网络 所以我正在尝试优化它的创建和使用 我发现dequeueReusableCellWithIdentifier非常有用 但是在看到很多使用它的
  • 了解设备类型——视网膜/非视网膜[重复]

    这个问题在这里已经有答案了 可能的重复 检测视网膜显示屏 https stackoverflow com questions 3504173 detect retina display 我们如何从 Objective C 代码中知道设备是否
  • iOS心率检测算法

    我正在尝试在我正在开发的应用程序中实现心跳记录功能 首选方法是使用 iPhone 的摄像头 在灯亮的情况下 让用户将手指放在镜头上 然后检测视频源中与用户心脏相对应的波动 我通过以下堆栈溢出问题找到了一个非常好的起点here https s
  • 是否有一种全局方法可以将 iPhone 和 iPad 应用程序合并为通用应用程序?

    我写了一个 iPhone 应用程序 然后 我稍微改变了界面 添加了更高分辨率的图像 并制作了它的 iPad 版本 在一个完美的世界里 我希望任何购买 iPad 版本的人都可以免费获得 iPhone 版本 但反之则不然 由于苹果似乎没有办法做
  • SDK“iOS 8.4”不允许临时代码签名

    我正在尝试在 iPhone 上运行我的 IOS 应用程序 我有一个苹果开发人员帐户 并且我执行了创建证书的所有步骤 当我尝试运行它时 我收到以下错误消息 代码签名错误 SDK iOS 8 4 不允许进行临时代码签名 CodeSign 错误
  • 无法运行 iPhone 模拟器 - 文件“日志”无法保存

    iPhone 模拟器无法运行 显示错误消息 文件 Logs 无法保存在 Library 文件夹中 因为 同名文件已存在 当 Logs 目录为空时 模拟器会创建子目录 CoreSimulator App ID 并显示上述消息 它是新的 OS
  • isAvailableForServiceType 总是返回 true?

    简单的一行代码 NSLog Checking on Facebook d Checking on Twitter d SLComposeViewController isAvailableForServiceType SLServiceTy
  • 合并两个 .caf 文件

    我使用下面的代码来合并两个 caf 文件 NSMutableData datas NSMutableData alloc NSData data1 NSData dataWithContentsOfFile path1 NSData dat
  • 如何在 sqlite3 数据库中存储音频文件并在 iphone 中播放它们?

    我想在数据库中存储音频文件 任何支持 mp3 wav 和 iphone 的格式 并在 iPhone 上播放它们 知道如何做到这一点吗 我不知道为什么你想将音频文件存储在 SQL 数据库中 但 sqlite3 支持 BLOB 因此 将它们存储
  • iPhone RESTful Web 服务

    然而 甚至不确定标题是否正确 我想做的是使用标准 NSURLConnection 类来处理调用我的 web 服务的响应 我使用 POST 方法更新数据库 使用 GET 方法从数据库检索行 我遇到的问题是这两个操作可能同时发生 因此处理请求的
  • iPhone OS 支持隐式动画吗?

    Mac OS X 的示例 aView animator setFrame NSMakeRect 100 0 100 0 300 0 300 0 我在 UIKit 中尝试过类似的方法 但 UIView 似乎没有动画方法 那么没有 隐式 动画吗
  • IOS:从故事板中的原型单元中触发多个segues

    有没有办法将原型单元连接到不同的场景 并在 didSelectRowAtIndexPath 方法上调用 self PerformSegueWithIdentifier NAMEOFTHESEGUE sender self 我似乎无法将多个
  • Crashlytics 集成问题

    我在整合时遇到问题崩溃解决方案进入我的项目 按照网站上的说明进行操作 但不久之后安装 Crashlytics mac 应用程序 添加新的构建脚本 粘贴脚本 然后我构建我的项目以继续 然后应用程序崩溃了 Update 当时 我忘记在 AppD
  • jquery mobile 和 iphone - 页面底部的空白区域

    我有一个 jquery 移动网页 它在桌面浏览器和 Android 上看起来都不错 但在 iPhone 的 safari 中 我在页面底部有一个奇怪的空白 它看起来像是 ui 页面的最小高度的问题 因为空白区域与 safari 的标题栏 u

随机推荐