在 Swift 中设置活动标签栏项目的背景颜色

2024-03-16

如果可能的话,我希望在不使用图像的情况下完成此任务。有没有一种方法可以以编程方式创建图像中显示的效果,而不必将每个选项卡渲染为图像?

我在 SO 上审阅的每个问题都将选项卡保存为 JPG,这比我认为应该做的工作要多。

Any ideas?Tab Bar


我采用了与 @matcartmill 类似的方法,但不需要特殊的图像。该解决方案仅基于您的颜色。

// set red as selected background color
let numberOfItems = CGFloat(tabBar.items!.count)
let tabBarItemSize = CGSize(width: tabBar.frame.width / numberOfItems, height: tabBar.frame.height)
tabBar.selectionIndicatorImage = UIImage.imageWithColor(color: UIColor.red, size: tabBarItemSize).resizableImage(withCapInsets: UIEdgeInsets.zero)

// remove default border
tabBar.frame.size.width = self.view.frame.width + 4
tabBar.frame.origin.x = -2

我正在利用以下扩展UIImage:

extension UIImage {

    class func imageWithColor(color: UIColor, size: CGSize) -> UIImage {
        let rect: CGRect = CGRectMake(0, 0, size.width, size.height)
        UIGraphicsBeginImageContextWithOptions(size, false, 0)
        color.setFill()
        UIRectFill(rect)
        let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image
    }

}

我希望这有帮助!

对于斯威夫特 4

extension UIImage {

   class func imageWithColor(color: UIColor, size: CGSize) -> UIImage {
    let rect: CGRect = CGRect(x: 0, y: 0, width: size.width, height: size.height)
    UIGraphicsBeginImageContextWithOptions(size, false, 0)
    color.setFill()
    UIRectFill(rect)
    let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
    UIGraphicsEndImageContext()
    return image
   }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Swift 中设置活动标签栏项目的背景颜色 的相关文章

  • Xcode 8 / Swift 3:“UIViewController 类型的表达式?未使用”警告

    我有以下函数 它之前编译得很干净 但在 Xcode 8 中生成警告 func exitViewController navigationController popViewController animated true UIViewCon
  • SwiftUI:发送电子邮件

    在正常情况下UIViewController在 Swift 中 我使用此代码发送邮件 let mailComposeViewController configuredMailComposeViewController mailCompose
  • UIView晃动动画

    我试图在按下按钮时使 UIView 摇动 我正在调整我找到的代码http www cimgf com 2008 02 27 core animation tutorial window shake effect http www cimgf
  • iOS - UITableViewCell 使文本加粗

    我有一个字符串 NSString userInfo James Johnson james 我想做的就是大胆James Johnson并保留 james正常字体 所以我尝试过的是使用NSAttributedString但为了完成这个过程 我
  • 如何检测用户是否第一次打开应用程序[重复]

    这个问题在这里已经有答案了 是否可以检测用户是否是第一次打开iOS应用程序 使用Objective C 我想在用户第一次打开应用程序时显示欢迎消息 但之后不再向他们显示 我正在寻找类似的东西 BOOL firstTime AppDelega
  • 错误消息:您输入的捆绑包 ID 已被使用

    我正在尝试发布一个 iPhone 应用程序 这不是第一个 我过去已经发表过其他的 因此 我在第一个和第二个表单中输入了所需的信息 然后填写了第三个大表单 您还可以在其中上传图标和屏幕截图 好吧 我在上传屏幕截图之前按下了 保存 按钮 因为我
  • 如何使用 alamofire 通过基本身份验证上传图像?

    我正在尝试使用 alamofire 4 7 1 和此代码上传图像 但说实话 我怀疑我没有编写正确的代码来上传图像 func uploadDefect defectRemark String defectLocation String def
  • Xamarin - 错误:dsymutil 退出,代码为 72

    最近升级到 VS for Mac 8 10 21 在构建应用程序时 我得到 Xamarin Shared targets 3 3 Error dsymutil exited with code 72 这是 Xcode 13 3 的情况 完整
  • 在 WKWebView 中禁用缩放?

    有谁知道在 WKWebView 中禁用双击和捏缩放的简单方法 我尝试过的任何方法都不起作用 Webview scrollView allowsMagnification false Error value of type WKWebView
  • 我的 UICollectionView 无法使用 Swift 平滑滚动

    我有一个CollectionView它使单元出队取决于message类型 例如 文本 图像 我遇到的问题是当我向上 向下滚动时滚动确实很不稳定 因此用户体验不是很好 这仅在第一次加载单元格时发生 之后滚动就会平滑 我有什么想法可以解决这个问
  • 未知异常和崩溃

    当我尝试快速滚动表格视图或从远程重新加载数据时 我的应用程序崩溃了 当我先进行远程获取然后滚动表格视图时 一切似乎都工作正常 我不知道下面的崩溃日志意味着什么 它只是有时工作正常 有时崩溃 Incident Identifier 710A1
  • 如何使用phonegap在iOS应用程序中防止键盘推送webview

    当屏幕底部的输入字段获得焦点时 键盘会向上推我的网络视图 并且页面的上部不再可见 我想防止键盘推高网络视图 有人有主意吗 对焦 设置window scrollTo 0 0 这可以防止键盘完全推高 webview input on focus
  • 动态调度协议扩展不适用于多个目标

    这是我的主要目标中的代码 所以不是测试目标 protocol ProtocolA func dontCrash extension ProtocolA func dontCrash fatalError func tryCrash dont
  • 当应用程序进入前台时,如何重新启动基于块的动画?

    我有以下基于块的动画 UIView animateWithDuration 0 5f delay 0 0f options UIViewAnimationOptionRepeat UIViewAnimationOptionAutorever
  • 如何使用 IOS 12 在 UITableViewCell 中正确添加 UICollectionView

    由于某些原因 在使用 Xcode 10 beta 时 我无法正确显示 tableview 单元格内集合中的某些项目 在过去的四天里我尝试了我所知道的一切 我做了一个小项目样本来看看我的问题是什么 如果有人想在本地运行完整代码 请参见此处 h
  • UICollectionView setLayout:animated: 不保留 zIndex

    我注意到打电话时setLayout animated in a UICollectionView要在两个布局之间切换 当前可见的单元格不遵循zIndex它的布局属性已设置在layoutAttributesForItemAtIndexPath
  • 有没有办法在 onclick 触发时禁用 iPad/iPhone 上的闪烁/闪烁?

    所以我有一个有 onclick 事件的区域 在常规浏览器上单击时 它不会显示任何视觉变化 但在 iPad iPhone 上单击时 它会闪烁 闪烁 有什么办法可以阻止它在 iPad iPhone 上执行此操作吗 这是一个与我正在做的类似的示例
  • Mac 上的 Delphi - 可能吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我负责一个 Delphi Win32 项目管理应用程序 我刚刚完成了向 Delphi 2009 的迁移
  • UIViewController 内的 UIsearchController 使用自动布局

    有没有人成功实施过UIViewController其中包含两个UISearchController searchBar and a UItableView使用自动布局来布局所有内容 我正在尝试实现类似的目标1密码 https itunes
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • 我如何找到启动我的进程的计划任务的实例ID/相关ID

    如果我有一个运行我的 EXE 的 Windows 计划任务 有没有办法从我的 EXE 内部找到触发我的计划任务实例 简单的回答是 不 你能做的最好的事情是以编程方式访问任务调度程序库 看看你所在的进程是否处于 运行 模式 获取进程的 PID
  • 检测两张图片之间的相似点然后将它们叠加(Python)

    我有两张相同神经切口的照片 深度略有不同 每张切片使用不同的染料进行染色 我想叠加这两个图像 但它们在幻灯片 照片上没有完美对齐 因此无法简单地做到这一点 我想要做的是编写代码来检测两个切片之间的相似形状 即相同的单元格 然后根据这些单元格
  • Django自定义装饰器重定向问题

    我尝试在 Django 中编写一个自定义装饰器 如果用户未通过该页面登录 我想将用户重定向到自定义登录页面 我已经编写了装饰器并调试了它 虽然如果用户未登录 它可以正常工作 但在用户登录后 它会给出错误 The view APPNAME v
  • Playwright locator.evaluateAll 如何返回使用节点 forEach 填充的地图

    我想抢夺所有人的财产
  • 如何从文本文件中读取信息?

    我有数百个文本文件 每个文件中包含以下信息 Auto Corelation Results 1 09 19 18 non Significant STATISTICS FOR MANN KENDELL TEST S 609 VAR S 16
  • 您将如何做到这一点:表格还是 CSS? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用 Jersey(测试框架)将数据源依赖项注入到 RESTful Web 服务中?

    我正在使用 Jersey 构建一个 RESTful Web 服务 该服务依赖 MongoDB 来实现持久性 Web 服务本身连接到默认数据库 但对于单元测试 我想使用单独的测试数据库 我将在 setUp 中填充此测试数据库 运行测试 然后在
  • 每张信用卡的 paypal payer_id 是唯一的吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想知道使用同一张信用卡的两次单独付款的 paypal payer id 是否相同 这显然对于检测可能的欺诈交易很有用 请注意 对于 paypal 帐
  • Vim 脚本突出显示大括号等标签的末尾

    我需要一个 Vim 脚本来在光标位于标签开头时突出显示标签的结尾 例如 在 html 标签中 当光标位于标签开头时 它应该突出显示标签结尾 接口应该是通用的 以便可以添加更多标签 如果您将 html vim 文件替换为this http w
  • 空值可以传递给包裹吗?

    是否可以写null to Parcel当分割一个对象时 得到null再次解压时又回来了 假设我们有以下代码 public class Test implements Parcelable private String string null
  • 在调用 Main() 之前 Windows 会做什么?

    Windows 必须做一些事情来解析 PE 标头 将可执行文件加载到内存中 并将命令行参数传递给main Using OllyDbg I have set the debugger to break on main so I could v
  • Twitter API请求限制问题

    我编写了一个小型 java 程序来从 Twitter 下载所有朋友和关注者的个人资料图片 但我收到错误 因为每个 IP 地址每小时只允许 150 个请求 确切的错误是 twitter4j TwitterException 400 The r
  • SELECT 语句中的子查询 (MySQL)

    我正在创建一个 SQL 语句 它将返回一个产品列表以及我在每个商店中可以找到的每种产品的数量 我的表的结构 带有一些示例数据 如下 productID size color stock storeID 1 S RED01 1 BCN 1 S
  • 如何根据单元格值有条件地设置 ReactJs 材料表单元格的样式?

    我在材料表中有一个列 其中包含成功 失败等值 根据这些值 我需要在单元格上应用颜色 如何使用材质表来实现 这个答案是专门针对反应材料表 https material table com 在列部分中 我们需要具有如下所述的内容 因此当在表中呈
  • 调用中参数“coder”缺少参数

    我将自定义 UIButton 编码为 class AccountOpeningButton UIButton required init coder aDecoder NSCoder super init coder aDecoder 我能
  • 无法在当前范围或上下文中解决。确保所有引用的变量都在范围内

    我收到此错误 无法在当前范围或上下文中解析 TblProduct 请确保所有引用的变量都在范围内 加载所需的架构 并且正确引用命名空间 在下面的代码中 我不确定为什么它不能正常工作 我希望有人能够提供帮助 谢谢 private void A
  • 短数组的最佳排序函数

    我正在研究一种处理图片的算法 基本上我将实现一个扩散 每个像素将获得周围 8 个像素的中值 它自己的值 我要做的就是使用该值创建一个包含 9 个整数的数组 对数组进行排序并获取 array 4 处的中值 我仍然不知道该使用什么来解决这个问题
  • 根据需要验证正文中的不可空属性 - AspNetCore 3.1

    我正在尝试验证是否在请求中完全忽略了属性 字段 即 ModelState 无效并且 BadRequest 被发送回客户端 但是我正在努力处理请求主体中的不可空类型 适用于可空类型 Required public string Nullabl
  • 使用 SPARK 证明选择排序算法

    我试图证明我在 Ada 中的选择排序实现是正确的 我尝试了一些循环不变量 但使用 gnatprove 只能证明内部循环的不变量 package body Selection with SPARK Mode is procedure Sort
  • 在 Swift 中设置活动标签栏项目的背景颜色

    如果可能的话 我希望在不使用图像的情况下完成此任务 有没有一种方法可以以编程方式创建图像中显示的效果 而不必将每个选项卡渲染为图像 我在 SO 上审阅的每个问题都将选项卡保存为 JPG 这比我认为应该做的工作要多 Any ideas 我采用