IOS开发 ios7适配
ios7控制器试图默认为全屏显示,导航栏的不同设置会产生不同的效果.
首先判断系统的的版本,区别:
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) 官方推荐的版本判断
NSUInteger DeviceSystemMajorVersion();
NSUInteger DeviceSystemMajorVersion() {
static NSUInteger _deviceSystemMajorVersion = -1;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_deviceSystemMajorVersion = [[[[[UIDevice currentDevice] systemVersion]
componentsSeparatedByString:@"."] objectAtIndex:0] intValue];
});
return _deviceSystemMajorVersion;
}
#define MY_MACRO_NAME (DeviceSystemMajorVersion() < 7)
导航栏的颜色设置新增属性为barTintColor 具体写法:
  if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
        self.navigationController.navigationBar.tintColor = [UIColor brownColor];
    } else {
        self.navigationController.navigationBar.barTintColor = [UIColor brownColor];
    }
导航栏的属性:tintColor用于设置控件颜色
导航栏的背景图片不同的size会显示不同的效果.
导航栏中设置空间的image对象都需要进行渲染设置,默认是渲染为末模板,需要渲染为原图才能显示.
bar的样式 barStyle
bar的透明度 translucent
bar的颜色 barTintColor
bar上控件的颜色 tintColor
bar的背景图片 backgroundImage
字体:
  通过 UIFont 中的 preferredFontForTextStyle 属性回去当前系统的字体,确保内容在不同字体下都能很好显示。
Bars 和 Bar Buttons
status bar 默认是透明的,其他 bar 都是半透明的,一个通用原则:确保内容填充 Bar 下面的区域。
  navigationBar 在 UIBarPositionTopAttached 模式下会与 status bar 融合的,所以如果使用图片需要用 128px((20 + 44) x 2)。
通过设置控制器的edgesForExtendedLayout 为uirectedgesnone也可以将控制器视图从导航栏下显示,这个属性是iOS7新增的;
UITableView
Grouped table 没有边距了,TableView 上的图标(如:Checkmark,Disclosure indicator,Delete button 等)都变了。
转载请注明出处!!!
IOS开发 ios7适配的更多相关文章
- iOS开发——屏幕适配篇&Masonry详解
		Masonry详解 前言 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-ip ... 
- iOS开发——屏幕适配篇&autoResizing autoLayout和sizeClass
		autoResizing autoLayout和sizeClass,VFL,Masonry详解 1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前 ... 
- iOS开发关于适配iOS10以及Xcode8的相关新知识
		一.证书管理 用Xcode8打开工程后,比较明显的就是下图了,这个是苹果的新特性,可以帮助我们自动管理证书.建议大家勾选这个Automatically manage signing(Ps.但是在bea ... 
- iOS开发-iOS7禁用手势返回
		- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; // 禁用 iOS7 返回手势 if ([self.nav ... 
- iOS开发——iOS7(及以后版本) SDK自带二维码(含条形码)扫码、二维码生成
		本文转载至 http://www.cnblogs.com/leotangcn/p/4357907.html 现在很多APP都涉及了二维码扫码功能,这个功能简单实用,很多情况下用户乐于使用,现在本文带来 ... 
- iOS开发- iOS7显示偏差(UITableView下移)解决的方法
		之前碰到过一个问题. 就是利用storyboard拖动出来的控件, 在iOS7上跑老是莫名的下移. 比方这样(红色区域为多余的) 解决的方法: iOS7在Conttoller中新增了这个属性: aut ... 
- iOS开发--storyboard适配pin
- iOS开发点滴:iPhone屏幕适配
		最近开始做iOS开发,遇到一些小问题和解决方法,记录下. 今天是iPhone屏幕适配 iPhone5出来之后屏幕就有iPhone就有了2种尺寸:3.5寸和4寸,xcode 5 的IB设计器里面界面 ... 
- IOS开发之绝对布局和相对布局(屏幕适配)
		之前如果做过Web前端页面的小伙伴们,看到绝对定位和相对定位并不陌生,并且使用起来也挺方便.在IOS的UI设计中也有绝对定位和相对定位,和我们的web前端的绝对定位和相对定位有所不同但又有相似之处.下 ... 
随机推荐
- 升级或者重装Discuz! 版本后 QQ互联英文乱码显示的正确解决方法
			升级Discuz! X3版本QQ互联英文乱码!connect_viewthread_share_to_qq! 目前Discuz!论坛上 最简单的解决方法: 第一步:后台----->站长---- ... 
- Django-常用设置(settings.py)
			BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 当前项目的根目录,Django会依此来定位工程内的相关文件 ... 
- 暑假集训 || bitset
			bitset是一个存储0和1的数组 可以快速的把两个bitset的每一位对应做与或啥的 在可以用01串表示某个状态的时候可以应用到它 就是有两个集合,求它们的交集 bitset <> a, ... 
- Xcode导入第三方库图文
			Three20这个与facebook亲戚的开源库是蜚声iPhone开发界,很多App都有它的影子,主要是其真得是功能强大.那么如何将Three20库添加到自己的项目中应用呢?一种是Python命令方式 ... 
- 19.	REFERENTIAL_CONSTRAINTS
			19. REFERENTIAL_CONSTRAINTS REFERENTIAL_CONSTRAINTS表提供有关外键的信息. REFERENTIAL_CONSTRAINTS有以下列: CONSTRAI ... 
- 10. InnoDB表空间加密
			10. InnoDB表空间加密 InnoDB支持存储在单独表空间中的表的数据加密 .此功能为物理表空间数据文件提供静态加密. 详细信息见官方文档 
- Linux修改网卡名
			问题现象:戴尔机器网卡名为em1,修改为eth0a)由于未发现有/etc/udev/rule.d/70-persistent-net.rules文件,重启后也未发现此文件手动执行/lib/udev/w ... 
- python基础知识05-控制流程
			控制流程 1.条件判断 python中的代码从上到下执行. if 条件: 缩进 语句1 elif 条件2: 缩进 语句2 (…或者写pass关键字.不写任何代码的时候,防止报错.) ... else: ... 
- linux 配置文件要不要加上#! /bin/bash
			现在一般的linux系统默认的shell都是bash.所以但很多unix系统可能会用bourne shell.csh或者ksh等来作为用户默认shell 如果你在写shell脚本的时候,用的语法只有b ... 
- python006 Python3 运算符
			Python3 运算符什么是运算符?本章节主要说明Python的运算符.举个简单的例子 4 +5 = 9 . 例子中,4 和 5 被称为操作数,"+" 称为运算符.Python语言 ... 
