如何复制导航栏渐变颜色?

2024-02-03

我一直在尝试复制渐变UINavigationBar用作自定义渐变UIButton同一视图上的子类对象。

但是我不明白这些颜色是如何得出的?也就是说,您只需指定一种颜色即可设置UINavigationBar的背景颜色-tintColor- 但它创建了一个漂亮的渐变,看起来至少有 4 种颜色?

我真的只是对“内部”顶部和底部颜色感兴趣 - 就在栏周围的 1px 边框内......不过外部“边框”颜色确实看起来不同。

EDIT - 1

经过进一步研究,似乎 HSB(而不是最初想到的 RBG)值被操纵以获得这些不同的颜色。

还有一个方便的方法UIColor获取 HSB 值,这应该会有所帮助:

getHue:saturation:brightness:alpha:

到目前为止找到的有用参考资料

HSL 和 HSV 维基 http://en.wikipedia.org/wiki/HSL_and_HSV#Color-making_attributes

UIColor 类参考 http://developer.apple.com/library/ios/#documentation/uikit/reference/UIColor_Class/Reference/Reference.html

以编程方式淡化颜色 https://stackoverflow.com/questions/141855/programmatically-lighten-a-color

摘自《交互式计算机图形学基础》一书 http://marcocorvi.altervista.org/games/imgpr/rgb-hsl.htm

EDIT - 2

如果您不知道可以为背景设置渐变UIButton以编程方式,这里有一些关于如何执行此操作的参考:

UI按钮和核心动画层的乐趣 http://www.cimgf.com/2010/01/28/fun-with-uibuttons-and-core-animation-layers/

创建时尚 UIButton 的五个技巧 http://mobile.tutsplus.com/tutorials/iphone/custom-uibutton_iphone/(感谢 @cdo 提供此链接)

EDIT - 3

我整理了一个电子表格,显示 HSB 值中的原始颜色和“内部”渐变颜色(忽略最外面的颜色)UINavigationBar及其相应的“后退”按钮(标题无关且始终显示为白色)。

以下是 Google 文档的链接,其中包含我为一些示例颜色收集的信息:

注意:这些值是通过使用适用于 iOS 6.1 的视网膜 3.5 英寸 iPhone 模拟器(Xcode 版本 4.6)保存屏幕截图并使用 PhotoShop 观察 HSB 值而找到的。

赏金奖励标准

我已经对这个问题进行了悬赏,以吸引更多人关注它,并希望得到一个好的答案。我正在寻找的答案:

提供一种计算/近似(在大多数情况下)设置后创建的“内部顶部”和“内部底部”渐变颜色(请参阅电子表格)的 RGB 或 HSB 值的方法tintColor on UINavigationBar.

如果您还提供了计算“后退”按钮上的“内顶部”和“内底部”渐变颜色的方法(类似于导航栏,但我发现了这些),则会授予奖励积分(高于初始赏金)颜色通常看起来稍微“暗”)?


简短回答:这不是渐变

长答案:应用色调颜色后,在其顶部呈现一个透明的覆盖图像。

它被称为:UIintedTo[电子邮件受保护] /cdn-cgi/l/email-protection它位于 UIKit 艺术作品中。 (上传至此处:http://cl.ly/image/2c2V3t1D1T3L http://cl.ly/image/2c2V3t1D1T3L)

它是 2x88 像素图像,必须在有色背景上水平重复。

对于后退按钮,它非常相似,但也有一个遮罩来赋予它它的形状。 UItintedBackButtonHighlight 和 UItintedBackButtonMask。

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

如何复制导航栏渐变颜色? 的相关文章

  • 如何从标签栏控制器上方显示 UIActionSheet 视图?

    我需要在选项卡栏控制器上方显示操作表 我的意思是 即使操作表视图处于可见模式 我也能够看到选项卡栏控制器 因此 请建议如何从选项卡栏控制器上方查看 是否可以 其次 如何更改操作表的背景颜色和取消按钮背景颜色 请帮我 谢谢你 马丹 莫汉 要从
  • 使用 JSONKit 解析 JSON 文件

    我正在构建一个音叉应用程序 货叉应允许最多 12 个预设节距 此外 我希望允许用户选择一个主题 每个主题都会加载一组预设 不必使用所有预设 我的配置文件看起来像这样 theme A3 comment An octave below conc
  • iOS 上关键 ClientState 警告的默认访问速度缓慢

    在测试我的 iOS 应用程序时 我收到 对关键 ClientState 的默认访问速度慢 耗时 0 034635 秒 容差为 0 020000 警告 它似乎是间歇性发生的 我试图环顾四周看看它是关于什么的 但我并不完全确定 任何帮助表示赞赏
  • 调用当前的 Modal ViewController 两次?

    我遇到了 UIViewController presentModalViewController 被调用两次的问题 我有一个模态视图 我试图调出另一个模态视图 但第二次没有任何反应 我怀疑它被隐藏了 还有其他人这样做过吗 您不能在同一个父控
  • gestureRecognizer shouldReceiveTouch 持续存在于已释放的视图中导致崩溃

    我有一个相当简单的 UITableView 它在堆栈上推送一个新视图 新视图有一个像这样初始化的gestureRecognizer synthesize swipeGestureLeft void viewDidLoad swipeGest
  • 加速度计适用于 iphone/ipad 模拟器吗?

    据我所知 当我在 XCode 中使用 iPad 模拟器时 我的应用程序应该会触发加速计事件 但事实并非如此 我用谷歌搜索了一下 似乎加速度计没有在模拟器中实现 这是正确的吗 如果是这样 为什么他们会有 硬件 gt 摇动手势 菜单选项 我的代
  • 自定义 UINavigationController UINavigationBar

    基本上我想要一个定制UINavigationBar 我不希望它是 半透明 或任何东西 就像图片应用程序一样 我基本上想完全删除它 但我仍然希望能够在按下导航控制器时添加后退按钮等 并且我想要视图 例如 UITableViewControll
  • 检测 iPhone 屏幕是否打开/关闭

    有没有办法检测 iPhone 的屏幕是打开还是关闭 例如 当按下手机的屏幕锁定按钮时 我一直在使用 void applicationWillResignActive UIApplication application 为此类事件做准备 在大
  • 按升序对 NSDictionary 进行排序

    我正在尝试排序NSDictionary按升序排列 我正在使用这段代码 NSDictionary valDict self mGetDataDict key rowKey for NSString valueKey in valDict al
  • UIScrollView 与 UITabBarController 切断

    我有一个 UIScrollView 我将其放置在视图中 界面生成器文档 xib m h 但是 UIScrollView 的下半部分被剪切 并且由于我有一个 UITabBarController 而没有显示其下半部分 我在 appdelega
  • 使用未声明的类型“对象”

    这太奇怪了 通常我可以理解未声明的类 但这是声称 Object 类本身未声明 NSObject 可以工作 但我的项目设置方式我需要它是一个纯 Swift 对象 我的类标题如下所示 import UIKit import Foundation
  • 如何将设备上未保存的图片上传到dropbox帐户?(IOS)

    Dropbox RestClient 仅保存文件 所以我想先将图像保存在本地文件夹中 然后上传它 结果它保存了文件 但它已损坏 NSString localPath NSBundle mainBundle pathForResource I
  • 如何将nsmutable数组添加到sqlite数据库表中

    如何将nsmutablearray添加到sqlite数据库表中 有人可以帮我编码吗 您可以使用 for int i 0 i lt mutArray count i NSString string mutArray objectAtIndex
  • iOS:如何创建核心数据库的备份副本?以及如何导出/导入该副本?

    我想为我的应用程序的用户提供创建核心数据数据库备份的可能性 特别是在他切换到新设备等情况下 我该怎么做呢 特别是如何重新导入该文件 我的意思是 假设他制作了数据库的备份副本 然后更改了大量内容并想要重置为以前保存的备份副本 我该怎么做呢 T
  • iOS 搜索栏不显示结果

    更新 这实际上有效 我的自定义单元格的样式尚未出现 因此单元格看起来是空白的 那我怎样才能得到searchResultsTableView使用我的自定义单元格 我在表格视图中实现了搜索栏 当我调试时搜索 过滤所有工作 但是当我在搜索栏中输入
  • Facebook 登录打开错误的应用程序

    我正在尝试使用 facebook 实现应用程序的登录 但每次我尝试登录时 它都建议打开错误的应用程序 我尝试了一些在这里找到的东西 但没有成功 在 Facebook 的开发者页面上我添加了一个后缀 我的 plist 如下 有谁知道发生了什么
  • 隐藏 UITableview 单元格

    我正在尝试从 UITableView 中隐藏单元格 就像删除操作一样 但我只想隐藏它以便稍后在相同位置显示它 我知道 UITableViewCell 有一个名为 隐藏 的属性 但是当我使用此属性隐藏单元格时 它会隐藏但没有动画 并且会留下空
  • 刷新单元格的 UITableView 队列

    我想知道如果调用 UITableView reloadData 时 UITableView 队列被刷新 是否有人可以回复我 我正在尝试这样做 但这对我没有帮助 有什么建议吗 如果你查看 UITableView 的头文件 你可以看到有一个名为
  • 带有自定义字体的 UILabel 错误呈现

    在我的 iPhone 应用程序中 我为所有 UILabel 设置了自定义字体 更准确地说 我对 UILabel 进行了子类化 重写了一个方法 在该方法中设置了自定义字体 然后将 IB 中的所有标签设置为该自定义类 现在的问题是 所有文本都渲
  • 从应用程序内发送电子邮件中的图像和文本

    如何从我的应用程序内通过电子邮件发送图像和文本 表格数据形式 请大家帮忙并提出建议 谢谢 void sendMailWithImage UIImage image if MFMailComposeViewController canSend

随机推荐