iOS 7 教程:定制iOS 7中的导航栏和状态栏

本文提供的代码需要用Xcode 5来执行。如果你还在使用老版本的Xcode,那么在运行示例之前请将Xcode升级到Xcode 5。

iOS 7中默认的导航栏

在开始定制之前,我们先来看看iOS 7中默认导航栏的外观。通过Xcode用Single View Controller模板创建一个工程。然后将view controller嵌入到一个navigation controller中。

Xcode 5包含有iOS 6和iOS 7模拟器,我们可以在这两个不同的模拟器版本中运行示例程序,进行对比,如下图所示:

如上图所示,在iOS 7中的导航栏默认情况下跟状态栏是交织在一起的,并且它的颜色也被修改为亮灰色。

设置导航栏的背景颜色

在iOS 7中,不再使用tintColor属性来设置导航栏的颜色,而是使用barTintColor属性来修改背景色。我们可以在AppDelegate.m文件中的方法didFinishLaunchingWithOptions:里面添加如下代码来修改颜色:

[[UINavigationBar appearance] setBarTintColor:[UIColor yellowColor]];

效果如下图所示:

一般情况,我们都会使用自己的颜色,下面这个宏用来设置RGB颜色非常方便:

#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

将上面这个宏放到 AppDelegate.m 文件中,然后通过这个宏来创建一个UIColor对象(根据指定的RGB)。如下示例:

[[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x067AB5)];

默认情况下,导航栏的translucent属性为YES。另外,系统还会对所有的导航栏做模糊处理,这样可以让iOS 7中导航栏的颜色更加饱和。如下图,是translucent值为NO和YES的对比效果:

要想禁用translucent属性,可以在Storyboard中选中导航栏,然后在Attribute Inspectors中,取消translucent的勾选。

在导航栏中使用背景图片

如果希望在导航栏中使用一个图片当做背景,那么你需要提供一个稍微高一点的图片(这样可以延伸到导航栏背后)。导航栏的高度从44 points(88 pixels)变为了64 points(128 pixels)。

我们依然可以使用setBackgroundImage:方法为导航栏设置自定义图片。如下代码所示:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav_bg.png"] forBarMetrics:UIBarMetricsDefault];


个人防护装备实例分割数据集 一、基础信息 • 数据集名称:个人防护装备实例分割数据集 • 图片数量: 训练集:4524张图片 • 训练集:4524张图片 • 分类类别: 手套(Gloves) 头盔(Helmet) 未戴手套(No-Gloves) 未戴头盔(No-Helmet) 未穿鞋(No-Shoes) 未穿背心(No-Vest) 鞋子(Shoes) 背心(Vest) • 手套(Gloves) • 头盔(Helmet) • 未戴手套(No-Gloves) • 未戴头盔(No-Helmet) • 未穿鞋(No-Shoes) • 未穿背心(No-Vest) • 鞋子(Shoes) • 背心(Vest) • 标注格式:YOLO格式,适用于实例分割任务,包含边界框或多边形坐标。 • 数据格式:图片数据,来源于监控或相关场景。 二、适用场景 • 业安全监控系统开发:用于自动检测人是否佩戴必要的个人防护装备,提升作场所安全性,减少伤风险。 • 智能安防应用:集成到监控系统中,实时分析视频流,识别PPE穿戴状态,辅助安全预警。 • 合规性自动化检查:在建筑、制造等行业,自动检查个人防护装备穿戴合规性,支持企业安全审计。 • 计算机视觉研究:支持实例分割、目标检测等算法在安全领域的创新研究,促进AI模型优化。 三、数据集优势 • 类别全面:覆盖8种常见个人防护装备及其缺失状态,提供丰富的检测场景,确保模型能处理各种实际情况。 • 标注精准:采用YOLO格式,每个实例都经过精细标注,边界框或多边形坐标准确,提升模型训练质量。 • 真实场景数据:数据来源于实际环境,增强模型在真实世界中的泛化能力实用性。 • 兼容性强:YOLO格式便于与主流深度学习框架(如YOLO、PyTorch等)集成,支持快速部署实验。
锈蚀实例分割数据集 一、基础信息 • 数据集名称:锈蚀实例分割数据集 • 图片数量: 训练集:4138张图片 验证集:211张图片 测试集:110张图片 总计:4459张图片 • 训练集:4138张图片 • 验证集:211张图片 • 测试集:110张图片 • 总计:4459张图片 • 分类类别: Rust(锈蚀):金属表面因氧化而产生的腐蚀现象。 Corrosion(腐蚀):材料因环境因素导致的劣化过程。 • Rust(锈蚀):金属表面因氧化而产生的腐蚀现象。 • Corrosion(腐蚀):材料因环境因素导致的劣化过程。 • 标注格式:YOLO格式,提供实例分割标注,适用于锈蚀区域的精确分割。 • 数据格式:JPEG图片数据,来源于实际应用场景。 二、适用场景 • 业视觉检测系统开发:用于构建能够自动识别分割金属表面锈蚀的AI模型,提升检测效率准确性。 • 基础设施维护与风险评估:在建筑、能源、运输等领域,评估结构锈蚀损坏,辅助预防性维护决策。 • 制造业质量控制:集成到生产流程中,实时检测产品表面腐蚀缺陷,确保产品质量。 • 学术研究与创新:支持计算机视觉与材料科学交叉领域的研究,促进锈蚀检测技术的进步。 三、数据集优势 • 精确实例分割标注:每个标注均提供多边形边界,确保锈蚀区域定位准确,适用于细节分析模型训练。 • 类别针对性强:专注于锈蚀腐蚀检测,数据内容高度相关,减少无关噪声,提升模型专注度。 • 充足的数据规模:拥有数千张训练图片,为深度学习模型提供充分样本,支持稳健性能。 • 兼容性与易用性:YOLO标注格式兼容主流深度学习框架,如YOLO、Detectron2等,便于快速集成部署。
源码地址: https://pan.quark.cn/s/3277964f3ebe 车联网技术近年来取得了显著进步,是智能交通系统不可或缺的一部分,它借助无线网络将车辆与网络基础设施相连接,达成了车辆之间、车辆与路侧设备以及车辆与互联网等不同主体间的信息交互资源共享。 本文着重探讨了以W5200以太网芯片轻型IP(LWIP)协议为基础的车联网协同网络通信系统,该系统能够有效应对网络延迟网络故障所带来的挑战,从而增强车联网通信的可靠性即时性。 W5200作为一种以太网控制芯片,其内部集成了TCP/IP协议栈,并提供了物理层MAC层功能,显著简化了网络通信的构建过程。 W5200支持10/100Mbps以太网通信,确保了数据传输的高效稳定,非常适合在车载网络通信场景中使用。 而LWIP是一个开源的TCP/IP协议栈实现,其设计初衷是为了在嵌入式系统中运行一个轻量级的协议栈,特别适用于资源受限的环境,如嵌入式设备。 在W5200的基础上采用LWIP协议栈能够进一步优化网络通信,提升协议处理效能。 在车联网场景中,4G网络技术具备更广阔的覆盖范围更快的数据传输速率,能够实现车辆与服务器之间的高速数据交换。 OneNET作为一个开放的移动物联网平台,提供了多样化的接入方式以及统一的数据处理能力,便于车联网系统接入互联网,实现数据的共享应用服务。 文中指出,系统采用了手动自动两种模式来设定网络通信策略。 在手动模式下,网络通信策略是预先设定的且固定不变,适用于网络环境稳定且参数变化较小的情况。 自动模式则依据实时网络状况进行智能调整,通过动态变换通信策略来应对网络延迟故障,保障网络通信的稳定性灵活性。 通过在手动自动模式下对网络系统进行测试,能够显著降低信息延迟,提升网...
代码下载地址: https://pan.quark.cn/s/c1cac467bba3 在Android应用程序的设计与构建过程中,动画功能作为优化用户交互体验的重要组成要素之一备受关注。 GuillotineMenu作为Android操作系统环境下的一种特色动画效果,它通过模拟刀片式折叠菜单(亦称为剪刀式菜单)的开合行为,为用户界面注入了一种别致且富有吸引力的交互模式。 这款GuillotineMenu具包能够辅助开发人员在其软件产品中集成此类引人注目的折叠式动画。 GuillotineMenu的基本原理是借助Android的视图动画(View Animation)系统或属性动画(Property Animation)系统,构建一个能够从显示器的边缘滑出并逐步展开的菜单界面。 每当用户激活菜单操作时,该菜单就如同折叠刀一般,迅速从某个边界展开。 此类设计在现代应用程序中颇为常见,特别是在导航抽屉(Navigation Drawer)的构建中,为用户呈现了一种新颖的菜单开启与关闭途径。 要构建GuillotineMenu,首要任务是掌握Android的布局架构,特别是那些能够容纳多个视觉组件的布局方式,如帧布局(FrameLayout)或相对布局(RelativeLayout)。 随后,开发人员需要精确地定位菜单视图,并为其配置相应的动画效果。 这一过程通常包括对视图进行旋转、位移以及透明度调整等属性的控制。 在Android的视图动画体系中,开发者可运用Animation类及其衍生类,例如TranslateAnimation、RotateAnimation等来设计动画。 而属性动画则提供了更为丰富的功能,开发者可以通过ObjectAnimator、ValueAnimator等类别...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值