使自定义图像尊重tintColor属性iOS

2024-04-14

我必须想象这个问题已经被问过好几次了,但我的问题措辞一定不正确。

我有自己在 Photoshop 中制作的自定义图像,并将其设置为按钮的图像属性。这里正常显示:

背景是透明的,但它是 44x44,其中三个点是 88x88 像素的 .png 文件。所以如果我做这样的事情:

self.theButton.tintColor = [UIColor redColor];

图像仍然显示为白色。我不是一名设计师,所以我似乎缺少如何正确保存或设置文件以使它们尊重tintColor 属性。在 Photoshop 中,我通常使用“另存为网页”来保存这些。

Thanks


您正在寻找的是模板图像。

来自 UIKit 用户界面目录:

模板图像

在 iOS 7 中,您可以选择将应用程序中的任何图像视为 模板(或模板)图像。当您选择将图像视为 模板时,系统会忽略图像的颜色信息并创建 基于图像中 alpha 值的图像模板(图像的一部分) alpha 值小于 1.0 的图像被视为完全 透明的)。然后可以使用tintColor对该模板重新着色 与用户界面的其余部分相匹配。

默认情况下,创建图像 (UIImage) UIImageRenderingMode自动。如果你有 UIImageRenderingModeAutomatic 在您的图像上设置,它将被视为 模板或基于其上下文的原始内容。某些 UIKit 元素——包括导航栏、选项卡栏、工具栏、分段 控件 - 自动将其前景图像视为模板, 尽管它们的背景图像被视为原始图像。其他 元素(例如图像视图和 Web 视图)将其图像视为 原件。如果您希望您的图像始终被视为模板 无论上下文如何,设置 UIImageRenderingModeAlwaysTemplate;如果你 希望您的图像始终被视为原始图像,请设置 UIImageRenderingModeAlwaysOriginal。

要指定图像的渲染模式,首先创建一个标准图像,然后对该图像调用图像 WithRenderingMode: 方法。

UIImage *myImage = [UIImage imageNamed:@"myImageFile.png"];我的图像= [myImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];

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

使自定义图像尊重tintColor属性iOS 的相关文章

  • ios 导航 堆栈操作

    我在尝试从 iOS 应用程序操作导航堆栈时遇到问题 或者至少是由于这种操纵而产生的行为 我的情况 我有 3 个 ViewController 控制器a显示多个级别 控制器 b 是游戏视图 控制器 c 是某种分数 显然 我将在控制器 a 中选
  • DatePicker 停止 CoreData 按预期工作

    我有一个应用程序 它保存 UIDatePicker 中的文本和日期 然后在您回到 UIDatePicker 中的该日期时显示该注释 效果很好 只有我发现将 UIDatePicker 日期设置为今天会停止 CoreData 工作 只有当我运行
  • iOS - 当 UIView 移动时将 UITextField 移动到不同的位置

    我有一个主 UIView 它通过开关向上移动 我有这个工作 那里没有问题 现在 UIView 当向下时 占据屏幕的大约一半 当它向上推时 它会显示底部 40px 在 UIView 中 当它处于向下状态时 它有一个 UITextField 并
  • AVCaptureSession 具有多个方向问题

    我正在尝试实现条形码扫描仪 我有一个 AVCaptureSession 它从 AVCaptureDevice 接收视频 我想支持所有方向 使用以下代码 当我运行应用程序时 纵向一切正常 然而 在横向方向上 视图会旋转 但视频输入不会旋转 所
  • 适用于 IOS 和 Android 的支付网关 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在开发一个应用程序 用户必须在澳大利亚餐馆通过应用程序 android ios 付款 有两种付款方式 通过 PayPal 或 Visa
  • 从命令行调试 iOS 应用程序构建

    我正在通过命令行构建 iOS 应用程序 但在调试它时遇到问题 如果我使用 XCode 进行构建 它会让我在设备上 构建和调试 而不会出现任何问题 但现在 我不知道如何使用 gdb 在设备上启动它并逐步执行它 如果我尝试 添加自定义目标 可执
  • Objective-c 中的块递归

    当执行涉及 Objective C 块的递归时 我在 iOS 应用程序中收到 EXC BAD ACCESS 信号 这是简化的代码 void problematicMethod FriendInfo friendInfo onComplete
  • iPhone UINavigationBar 使用 [UINavigationBar 外观] 更改所有控制器的字体样式

    我知道我可以单独更改导航栏的字体 如本答案所述 更改导航栏的字体 https stackoverflow com questions 5832036 change the navigation bars font 目前我正在使用一种更全局的
  • 如何解决 CoreData mogenerator 未找到问题

    我收到如下所示的错误 我不知道我错过了什么 我该如何解决这个问题 如下图所示 Users nischalhada Documents XcodePro mnepalnews revisited 2 0 CoreData mogenerato
  • iOS 中的构建对象文件扩展名是什么?

    当我在项目中构建java对象类时 将创建带有 class扩展名的构建文件 并且人类不可读 快速构建文件怎么样 example car java gt build gt car class 构建后会是什么 car swift gt build
  • 如何恢复消耗品应用内购买?

    我正在开发一款 iOS 游戏 用户可以通过应用内消耗品购买一定数量的内部货币 比如 1000 金币 如果用户想将余额从一台设备转移到另一台设备 如何恢复消耗品购买 在苹果的文档中 它说我们必须使用我们自己的服务器 但是如何获取用户的Appl
  • 进入前台后刷新数据

    更改默认设置后 我想在AppDelegate中进入前台时刷新myViewController的数据 我所做的是 AppDelegate m void applicationDidFinishLaunching UIApplication a
  • iphone NSDate 转换问题

    在我的 facebook 图表 Api 中 我正在获取这些数据 来自杰森 updated time 2011 05 17T14 52 16 0000 我正在使用此代码将其转换为有效的日期格式 NSDateFormatter df NSDat
  • Xcode 中的 iOS 9 警告 - 此文件设置为针对早于项目部署的版本进行构建。功能可能有限

    我刚刚将我的 Mac 更新到最新的操作系统 并将 Xcode 更新到最新版本 现在我收到此警告 但我不知道该由谁来删除它 也不知道它的真正含义是什么 有人可以向我解释一下吗 Thanks Select Main storyboard in
  • 我的游戏中应该有多少个视图控制器?

    我开始使用 spritekit 构建我的第一个游戏 现在我只有一个视图控制器来呈现开始屏幕场景 override func viewDidLoad super viewDidLoad let scene StartScreenScene C
  • SiriKit 错误:此应用程序不支持捐赠意图

    我在 Xcode 10 iOS 12 Beta 中捐赠自定义意图时遇到问题 我创建了一个在我的主应用程序目标和 OrderIntent 目标之间共享的自定义框架 我创建了一个 intentdefinition 文件 并将目标成员资格设置为我
  • 在 Swift 中使用 CommonCrypto 解密时出现问题

    我在一家Swift only加密 解密Extension for String and NSData 并且 crypt 部分的工作基于 Zaph 在链接问题中提供的答案 在 Swift 中使用 CCCrypt CommonCrypt 时出现
  • 来自 iPhone/iPad 的 json Web 服务

    有人可以帮助我解决如何从 iphone 或 ipad 使用 json Web 服务的问题吗 这里我的要求是使用 API 密钥实现 json webservice 如果可能的话发布一些教程或示例链接 谢谢 规范的 JSON 处理库是here
  • 为什么我的视图仍然以横向呈现?

    我的视图是由导航控制器控制的 因此我将导航控制器支持的方向设置为明确的纵向和纵向UpSideDown 这可以工作 但是如果调用视图时前一个视图处于横向状态 它将以横向方式呈现并保持横向状态 直到设备旋转 如何防止这种情况发生 这是我的代码
  • 如何反转 CGPath 的点顺序

    我想画一个圆圈 并用它打出字母 为此 我需要顺时针抚摸圆圈 逆时针抚摸字母 这一切都很好 但是当我使用 Core Text 获取字母路径时 我不知道如何从本质上反转该路径 不是镜像或旋转或任何东西 这很简单 我希望点笔画顺序是逆时针的 这实

随机推荐

  • Django:重建通过 $.post 发送的结构化参数

    我正在发送带有结构化发布数据的 Ajax 请求 使用 jQuery post myUrl items code a description aaa code b description bbb 我所看到的request POST is
  • 签名 APK 中的空响应 - 调试 APK 中的正确响应

    我正在使用 Retrofit 进行网络调用 我在签名 APK 时面临奇怪的问题 改造请求 FormUrlEncoded Headers Accept application json POST Call
  • 如何在 VB.NET 中每 x 分钟调用一个函数?

    如何每 x 分钟调用一个函数 我想我必须在表单中添加一个计时器 这是一个简单的例子 Public Class SampleCallEveryXMinute Private WithEvents xTimer as new System Wi
  • 总是在 Perl 脚本结束之前执行一些代码

    如何设置在 Perl 脚本停止之前必须执行的代码 In here 如何在perl脚本退出之前运行一段代码 https stackoverflow com questions 3078508 how to run piece of code
  • 调用app.MainLoop()后更新wxPython进度条

    我有一个执行计算的 python 脚本 并且我已经为弹出 wxPython 进度条创建了一个类 目前我有 app wx App progress ProgressBar app MainLoop for i in xrange len to
  • Android:设置自定义字体时出现异常

    自一小时以来 我一直在绞尽脑汁地从代码中设置自定义字体到文本 我已经在之前的项目中做到了这一点 而且它有效 但我不知道出于什么原因 它给了我例外 无法制作原生字体 在这里 我已经解决了许多与此相关的问题 并尝试了建议的解决方案并适用于这些情
  • 是否可以从我自己的 AoG 应用程序的实现中触发另一个 Actions on Google 应用程序? [复制]

    这个问题在这里已经有答案了 此问题专门与 Google Apps 上的操作有关 涉及触发事件 操作以使助手为最终用户选择另一个 AoG 应用程序的能力 专门用于触发其他人的 AoG 应用程序 而不是您编写的应用程序 Idea 我想创建一个自
  • 轴位于中心的 R 图

    默认情况下 R 中的笛卡尔轴位于图的底部和左侧 如何使轴居中 如下图所示 Example using data generated by bgoldst estimate curve x lt seq 1 1 5 0 1 y lt c 1
  • 使用 Hibernate 映射双向列表

    我不明白映射双向列表时 Hibernate 的行为 Hibernate 生成的 SQL 语句对我来说似乎不是最佳的 有人可以启发我吗 场景如下 我有一对多的父子关系 我用双向列表来映射这种关系 根据Hibernate 注解参考指南 http
  • AngularJS:如何在模板内设置变量?

    我怎样才能避免 f 第三行语句打印出内容forecast day iso 我想避免使用forecast day iso temperature每次迭代依此类推 div index day iso day name f forecast da
  • IE9 文本渲染问题 - 字母尾部被切断

    我遇到了一个问题 在 IE9 标准模式下 IE9 以降序字母的尾部 q p y 等 消失的方式呈现文本 已尝试使用填充和其他常见的 CSS 设置来帮助解决此问题 但到目前为止我还没有运气 谁知道这可能是什么 EDIT 我在博客上找到了这个
  • Glassfish 3.1.1:在 RESTful Web 服务中检索 HTTP 身份验证

    我正在使用基于我的客户表的 HTTP 身份验证 用户通过身份验证后 将调用静态 Web 服务 但是我如何在 Web 服务中访问 HTTP 身份验证 HttpRequest 的标头数据 我的代码如下所示 GET Path id Produce
  • 战舰人工智能在一定规则下沉没部分[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我在寻找在某些规则下是否可以为战舰沉
  • 使用 msbuild 扩展包验证文件夹是否存在?

    如何使用 msbuild 扩展包任务可靠地验证文件夹是否存在 我怎样才能做到这一点而不引发错误并停止构建 您可以在目标上使用 Exists 条件吗 仅当与 msbuild 文件位于同一目录中存在名为 Testing 的目录或文件时 才会执行
  • 如何循环访问类的属性?

    C 有没有办法循环遍历类的属性 基本上我有一个包含大量属性的类 它基本上保存大型数据库查询的结果 我需要将这些结果输出为 CSV 文件 因此需要将每个值附加到一个字符串中 最明显的方法是将每个值手动附加到字符串中 但是有没有一种方法可以有效
  • 如何对一组和进行求和? SQL Server 2008

    我有一个查询sum像这样 SELECT Table1 ID SUM Table2 Number1 Table2 Number2 AS SumColumn FROM Table1 INNER JOIN Table3 ON Table1 ID
  • 如何在 Spring Hibernate 运行时设置数据库名称

    问题描述 Spring中有一个类叫做AbstractRoutingDataSource这将适合您的要求 浏览文档 您将找到一些有关如何实现具体类的帮助 您需要更改 或添加 现有代码的某些部分才能配置动态Data source 这个博客 ht
  • 在数据库中实施审查标志;最佳实践

    我需要存储一些与某些实体相关的评论标志 每个审核标志只能与单个实体属性组相关 例如表Parents has a ParentsStatus旗帜和桌子Children有一组ChildrenStatus flags 在当前的设计方案中 我有三个
  • 保留大小相等的分割视图

    我在非最大化窗口模式下启动 GVIM 并水平分割其窗口 确保窗口大小相等 当我最大化主 GVIM 窗口时 如何保留这个大小相等的分割视图 每当我最大化 GVIM 时 都会忘记窗口已被平均分割 Thanks 均衡分割的命令是 W ctrl W
  • 使自定义图像尊重tintColor属性iOS

    我必须想象这个问题已经被问过好几次了 但我的问题措辞一定不正确 我有自己在 Photoshop 中制作的自定义图像 并将其设置为按钮的图像属性 这里正常显示 背景是透明的 但它是 44x44 其中三个点是 88x88 像素的 png 文件