UIBarButtonItem 图标通过 IB 添加时为白色,以编程方式添加时为黑色

2023-11-23

当我将图标添加到UIBarButtonItem通过 Interface Builder,该图标显示为白色。当我以编程方式将相同的图标文件添加到另一个图标文件时UIToolbar,图标显示为黑色。为什么?

UIImage *image = [UIImage imageNamed:@"icon.png"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:image forState:UIControlStateNormal];
rootViewController.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:reloadButton] autorelease];

Jongsma 说的都是对的,你应该使用 initWithImage:style: 消息。

下一个问题不是你创建的方式UIBarButtonItem,而是您分配它的位置。您可以使用 UIBarButtonItemStylePlain 创建它,它通常应将图标的轮廓呈现为白色,但 UINavigationItem 的 rightBarButtonItem(就像左侧一样)不允许使用 UIBarButtonItemStylePlain。它隐式转换为 UIBarButtonItemStyleBordered。在边框样式中,图标按“原样”呈现,为黑色并带有轻微的渐变。

我认为如果您想要带边框的 barButton 上的白色项目,您必须触摸图像本身。

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

UIBarButtonItem 图标通过 IB 添加时为白色,以编程方式添加时为黑色 的相关文章

  • 以编程方式单击 tabbarController 的选项卡

    我有 2 个带有 Nib 文件的选项卡按钮 在按下选项卡 1 上的按钮时 我希望它显示选项卡 2 的视图 而不是单击选项卡栏按钮 2 我的意思是 我想以编程方式单击第二个选项卡栏按钮 我怎样才能做到这一点 可能吗 您必须创建一个包含以下内容
  • UISearchBar 取消按钮没有响应

    我已经实现了搜索栏 一旦用户将焦点放在搜索栏中 它就会显示取消按钮 为此我写了searchBar showsCancelButton YES in my searchBarTextDidBeginEditing方法 在searchBarSe
  • 自定义相机视图 Swift iOS 8 iPhone Xcode 6.1

    我想在 iPhone 的 View 中使用相机 我不想使用典型的全屏相机视图 而是我自己的 例如 我想在屏幕中间有一个 200x200 的正方形 并且有一个相机预览 在这个方块下面我想要一个拍照按钮 怎么做 我是新手 速度很快 你会想要使用
  • 如果应用程序意外关闭,如何重新启动应用程序

    Skype 更新文本 http www iclarified com entry index php enid 21659包含下一个 如果意外关闭 应用程序会自动重新启动 如何通过 SDK 执行此操作 据我所知 某些类型的应用程序可以在后台
  • 如何在 iPhone 应用程序中使用正则表达式以 , (逗号)分隔字符串

    我必须读取包含三列的 csv 文件 在解析 csv 文件时 我得到了这种格式的字符串克里斯托弗 巴斯 为心爱的国家哭泣 期末论文 电子邮件受保护 cdn cgi l email protection 我想将三列的值存储在一个数组中 所以我使
  • 使用“presentModalViewController”加载视图

    我正在尝试从另一个视图控制器加载临时的滑入视图 我的应用程序的视图控制器的结构如下 Application gt Tab Bar Controller gt TabBarItem gt View Controller 在此视图控制器中 我有
  • 使用 iOS 7 检索设备 WiFi MAC 地址

    我们的应用程序使用设备 WiFi MAC 地址来唯一标识设备 根据苹果文档 https developer apple com news id 8222013a我们将开始使用 UIDevice 的identifierForVendor 属性
  • Cocos2D复杂动画[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 Cocos2D 将我的游戏从 Flash 移植到 iOS 我现在有一个工作版本 我很高兴我
  • 如何检测 UISwipeGestureRecognizer 的结束?

    来自苹果文档 滑动是一种离散手势 因此每个手势仅发送一次关联的操作消息 void touchesEnded NSSet touches withEvent UIEvent event 当我使用 UISwipeGestureRecognize
  • 检测 iPhone 是否在运行时运行调试/分发构建

    是否可以在运行时检测正在运行的应用程序是否是通过调试或分发进行编译的 在项目信息中 对于调试配置 添加 DEBUG 预处理器宏 在 GCC 4 2 预处理部分 在代码中 如果您想要包含或不包含某些代码用于调试版本 则可以使用 ifdef 来
  • 从 UIPickerView 的选定行设置 UIButton 的标题

    详细场景是这样的 我使用循环创建 10 个按钮并设置 0 9 的标签 点击每个按钮时 我将调用 UIPickerView 在其中加载来自不同数组的数据 到这里我就得到了预期的结果 但我希望 pickerView 中选定的行应设置为相应按钮的
  • 将图像保存在相机胶卷中并获取资源 URL

    对于我正在开发的应用程序 我使用 UIImagePickerController 拍摄照片并将其存储在相机胶卷中 void imagePickerController UIImagePickerController picker didFi
  • 每 24 小时触发一次方法

    我正在尝试每天在给定时间触发一个方法 我尝试了一些方法 但我无法真正使其发挥作用 任何意见 将不胜感激 此外 如果无论应用程序是否打开它都会触发 那就更理想了 这可能吗 UI本地通知 http developer apple com lib
  • 在 iPhone 3GS 与 iPhone 4 上为 Mobile Safari 嵌入 HTML5 视频

    我在服务器上的 mp4 文件中有 H 264 AAC 编码的视频 mime 类型的视频 mp4 添加到 Web 服务器 IIS 7 并且我有一个带有视频标签的页面
  • 调整 UIImage 的大小而不将其完全加载到内存中?

    我正在开发一个应用程序 用户可以在其中尝试加载非常非常大的图像 这些图像首先在表格视图中显示为缩略图 我的原始代码会在大图像上崩溃 因此我重写它以首先将图像直接下载到磁盘 是否有一种已知的方法可以调整磁盘上图像的大小 而无需通过以下方式将其
  • UIView animateWithDuration:delay: 工作很奇怪

    我在使用 iPhone 动画块时遇到了一个奇怪的问题 这段代码 UIView animateWithDuration 2 delay 0 options 0 animations void controller setBackgroundC
  • 贴纸包会在模拟器上使 iMessage 崩溃,但在 iPhone 上不会崩溃

    按照 Apple 的在线说明和视频在 Xcode 中创建了一个贴纸包 所有图像的尺寸均正确且远低于文件大小阈值 如果我在我的实体 iPhone 上构建并运行贴纸包 一切都会完美运行 如果我在模拟器上构建并运行贴纸包 对于任何模拟的 iPho
  • 如何向标准 UIButton 添加徽章? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 是否可以在标准中添加看起来标准的徽章UIButton 如果不支持半原生 那么实现此目的最简单的方法是什么 示例图片 这是 Sascha
  • iPhone:UIApplication WillResignActiveNotification 从未被调用

    我正在视图控制器中播放视频 当用户按下硬件主页按钮并且当前正在播放视频时 应用程序崩溃并显示EXC BAD ACCESS在模拟器中 我读到我应该使用applicationWillResignActive停止视频播放的消息应该可以解决崩溃问题
  • ios - 如何声明静态变量? [复制]

    这个问题在这里已经有答案了 C 中声明的静态变量如下 private const string Host http 80dfgf7c22634nbbfb82339d46 cloudapp net private const string S

随机推荐

  • 将 SimpleMembership 迁移到 Identity 2.0

    这个问题已经演变 所以我更新了标题 这是原来的标题 Identity 2 UserManager Find 抛出 无效的对象名称 dbo ApplicationUser 错误 我正在从 SimpleMembership 转换为 Identi
  • JasperReport 报告中的 Excel 单元格格式

    我正在研究生成 Excel 文件的 JasperReport 报告 由于某种原因 我的单元格格式 类型不正确 例如 我的单元格中有 Date 对象 但是当我生成 Excel 文件时 它将单元格类型设置为数字 或者长整型是单元格中的文本 但单
  • “RxSwift”倒计时器

    我需要一个三十秒计时器RxSwift 这是一个重复的问题 但问题没有明确的答案 现有答案的更好方法 let countDown 15 15 seconds Observable
  • C++ 在派生类中初始化基类的 const int?

    我的基类中有一个常量 int 变量 我想在派生类中初始化响应变量 并使用不同的值 作为参数 这可能吗 这就是我所做的 Base h methods implemented in Base cpp in the actual code cla
  • hadoop 块丢失异常

    我收到以下错误 Diagnostics org apache hadoop hdfs BlockMissingException Could not obtain block BP 467931813 10 3 20 155 1514489
  • 请求安装包

    状态 已批准 但存在问题 需要采取进一步行动 我们发现您的应用存在问题 您需要按照如下所述进行检查并采取措施 以便您的应用将来不会受到影响 发现的问题 权限的使用与应用程序的核心目的没有直接关系 我们发现您的应用不符合 REQUEST IN
  • 使用 Kustomize 在 kubernetes 清单中修补列表

    我想修补 覆盖 list in 库伯内特斯体现为定制化 我正在使用 patchStrategicMerge 方法 当我修补不在列表中的参数时 修补会按预期工作 仅替换 patch yaml 中的已寻址参数 其余部分保持不变 当我修补列表时
  • SAX解析——获取文本节点的高效方法

    给定这个 XML 片段
  • JsonNullable 没有与 Jackson 序列化其值

    我正在尝试使用JsonNullable
  • .NET core 将命令行参数从 Program.cs 传递到 Startup.cs

    我正在尝试配置 kestrel 以便当它处于原始模式时它可以在特定端口上运行 然而 要做到这一点 launchsettings json 似乎需要传递命令行参数来执行此操作 因为没有直接选项 并且它始终在端口 5000 上运行 如果您有需要
  • 使用 Node.js 和 WebSocket 传输二进制文件

    我已经在谷歌上搜索这个并在 stackoverflow 上搜索了一段时间 但还没有找到解决方案 因此发表了这篇文章 出于好奇 我正在尝试使用 Node js 和 WebSockets 我正在尝试将一些二进制数据 mp3 传输到客户端 到目前
  • PHP读取cookie文件

    是否有任何帮助程序库可以读取 php ini 中的 cookie 文件 我的本地磁盘上有一个 cookie 文件 我想要一种更好的方式来读取它 我目前只是按行读取文件并解析出值 如果您打算阅读 Netscape 的格式 例如 curl 以这
  • 在调用堆栈中显示特殊的原始函数

    这个问题提示如下问题 有没有办法查看特殊原语调用堆栈中的函数 例如 创建一个在退出时返回调用堆栈的函数 myFun lt function obj on exit print sys calls return obj 调用此函数并将其结果分
  • 领域驱动设计自动递增实体键

    刚开始领域驱动设计 我了解到您应该使模型保持有效状态 并且在创建类的新实例时 建议将所有必需的属性作为构造函数参数 但是 当使用自动递增键时 当我从持久层调用 Add 方法时 我只会获得这个新 ID 如果我在没有密钥的情况下实例化我的对象
  • 捕获重复键插入异常

    我有一个带有唯一主键列的表 称为id 有时当我执行INSERT查询我收到错误 因为id值已被使用 我可以捕获这个特定错误吗try and catch 看起来 mysql 正在为重复的主键抛出 1062 错误代码 您可以检查 sql 异常的错
  • Angular 2,使用 href='#' 处理锚链接

    单击任何带有href Angular 路由器路径 path component NologinComponent pathMatch full 是匹配的 我应该如何处理这些锚链接以便锚与href 停留在同一页面 即什么都不做 锚标记示例 a
  • 是否可以在 Azure 应用服务上安装字体?

    我们正在使用 MigraDoc PDFsharp GDI 它依赖于将字体安装到系统中以便进行渲染 我们尝试过嵌入字体 但 MigraDoc 的 GDI 版本似乎不支持此功能 尝试将此组件移动到 Azure 应用服务时 它找不到字体 有没有办
  • 如何在 PyCharm 的运行/调试配置中将环境变量作为命令行参数传递?

    我正在尝试学习 PyCharm 需要将环境变量作为命令行参数传递给我的进程 例如执行相当于myScript py u myVar在 Linux 上 或者myScript py u myVar 在 Windows 上 如何在 PyCharm
  • 如果从静态构造函数启动并等待空的 .NET 任务,为什么不会完成?

    我不明白为什么下面的代码不起作用 var task new Task gt task Start if task Wait 10000 logger Info Works else logger Info Doesn t work 超时后
  • UIBarButtonItem 图标通过 IB 添加时为白色,以编程方式添加时为黑色

    当我将图标添加到UIBarButtonItem通过 Interface Builder 该图标显示为白色 当我以编程方式将相同的图标文件添加到另一个图标文件时UIToolbar 图标显示为黑色 为什么 UIImage image UIIma