1,修改状态栏的样式和隐藏。

首先,需要在Info.plist配置文件中,增加键:UIViewControllerBasedStatusBarAppearance,并设置为YES;

然后,在UIViewController子类中实现以下两个方法:

- (UIStatusBarStyle)preferredStatusBarStyle
{return UIStatusBarStyleLightContent;
}- (BOOL)prefersStatusBarHidden
{return NO;
}
最后,在需要刷新状态栏样式的时候,调用[self setNeedsStatusBarAppearanceUpdate]方法即可刷新注意:
[self setNeedsStatusBarAppearanceUpdate]在push  或者 present 的controller里面调用才起作用。

2,UITableViewCell的定制。

以前可以直接继承UITableViewCell然后drawRect;

现在不行了,现在的UITableViewCell包含了一个scrollView,你重绘了UITableViewCell将会被这个scrollView遮住而完全没法显示.

解决思路:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

UITableViewCell * cell = [[[UITableViewCellalloc] initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:nil] autorelease];

UIView * subview = [[[XXView alloc] init] autorelease];

subview.userInteractionEnabled = NO;// 不设为NO会屏蔽cell的点击事件

subview.backgroundColor = [UIColorclearColor];// 设为透明从而使得cell.backgroundColor有效.

subview.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

[cell.contentView addSubview:subview];// cell.contentView是个readonly属性,所以别想着替换contentView了.

return cell;

}

3,用户界面设计中,新增了一个重要的概念:UIKit动力

默认支持如下5种动力行为:吸附行为(UIAttachmentBehavior),碰撞行为(UICollisionBehavior),重力行为(UIGravityBehavior),推动行为(UIPushBehavior),捕捉行为(UISnapBehavior;

4,将TextKit整合到所有基于文本的控件中(Text Kit可以对程序中的文本内容进行精致的排版)。

5,多任务

iOS7中,应用程序的后台执行模型,新增了如下两种类型:

1.fetch:

应用程序可以从网络中有规律的下载新数据;

注册方法为:在程序的Info.plist中,将UIBackgroundModes键值设置为fetch,然后在app delegate中,使用方法setMinimumBackgroundFetchInterval:来设置下载新数据操作之间的最小时间间隔。另外,必须在app delegate中实现application:performFetchWithCompletionHandler:方法以执行任意的下载。

2.remote-notifaction:

在iOS7中,通过推送通知,可以启动一个后台下载操作任务。

要使用这种模型,只需要将程序Info.plist文件中的UIBackgroundModes键值设置为remote-notification,然后在app delegate中实现application:didReceiveRemoteNotification:fetchCompletionHandler: 方法。

6,UIView类增加属性tintColor:可以使用一个tint color,并对view和它的subview有影响。

7,UIViewController增加: View controller之间的切换(transition)可以自定义、驱动式交互(driven interactively),或者完全根据自己指定的切换方式来替换。

8,UIView和UIScreen提供了一个新的方法:snapshot——返回一个view,可以用来显示程序的内容。 

9,UIFontDescriptor对象使用一个属性字典来描述字体。通过font descriptor可以与其它平台相互交互。UIFont和UIFontDescriptor类支持动态调整字体大小。

10,UIApplicationDelegate协议新增了处理后台获取数据的操作。

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler NS_AVAILABLE_IOS(7_0); 

- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler NS_AVAILABLE_IOS(7_0);

- (void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)())completionHandler NS_AVAILABLE_IOS(7_0);

11,Table view支持对row或其他元素高度的评估(estimating),这样可以提升Table view的滚动性能。

12, Media Player Framework

在Media Player framework中,MPVolumeView类可以判断用户选择的无线路由(wireless route,例如AirPlay和Bluetooth)是否可用。你也可以判断无线路由当前是否可用。关于新接口信息,请参看framework的头文件。关于Media Player framework涉及到的类,请参看Media Player Framework Reference。

13, AV Foundation Framework

AVAudioSession支持一些新的行为:可以选择音频输入的首选项,包括来自内置麦克风的音频;支持多通道的输入和输出

转载于:https://www.cnblogs.com/yswdarren/p/3605292.html

IOS7 开发注意事项相关推荐

  1. Zynq的AMP开发注意事项之sdk_repo

    目录 前言 1.BSP工程说明 第一步:创建BSP工程,选择硬件平台.cpu核和支持的OS 第二步:BSP工程设置 (1)版本+库文件选择 (2)standalone配置 (3)drivers支持 ( ...

  2. PHP 接口开发注意事项

    PHP 接口开发注意事项 PHP 接口开发注意事项 预先定义接口流程和逻辑,确认需求 在开发前首先确定流程,复杂的接口可以绘制流程图,并确保流程与需求一致: 使用统一的变量定义 无论是SDK还是Ser ...

  3. 分布式系统开发注意点_分布式系统开发注意事项

    分布式系统开发注意点 开发分布式软件系统时,要考虑许多因素. 如果您甚至不知道第一句话中我在说什么,那么让我为您提供一些见解,示例以及有关分布式系统的实例. 总览 分布式系统是指多个物理硬件设备与单独 ...

  4. 分布式系统开发注意事项

    开发分布式软件系统时,要考虑许多因素. 如果您甚至不知道第一句话中我在说什么,那么让我为您提供一些见解,示例以及有关分布式系统的实例. 总览 分布式系统是指多个物理硬件设备与单独的离散用户交互并通过这 ...

  5. 嵌入式软件开发注意事项一

    嵌入式软件开发注意事项一 1.首先对测试板进行各方面硬件性能的测试:电源测试,时钟测试等等.要确保硬件最基本的几个性能是正常的,否则后面真的无法进行软件的开发,因为如果你没有确保硬件的正确性,那么后面 ...

  6. WP7开发平台介绍及开发注意事项【WP7学习札记之二】

    Windows Phone是一个由微软制作并发行的触控操作模式行动操作系统,它的前身是Windows Mobile系统,但却与之完全不同. WP7系统架构: Windows Phone 7基于Wind ...

  7. 微信小程序开发注意事项

    第一次开发这个微信小程序,所以还是要记录一下,以防日后忘记,同时也提供给各位朋友作为参考. 1. 微信小程序注册 按照步骤注册即可~ 注册地址 2. 微信商户平台注册 商户平台注册的前提是:看看有没有 ...

  8. app开发注意事项(外包)

    app开发注意事项 在我们从事app开发行业以来每天都会收到大量客户的咨询.其中有创业者,公司的项目经理等等.前后2年左右的时间接触了上万名想做App的客户. 发现80%的客户都容易犯一些致命的错误: ...

  9. SS928V100开发注意事项(一)

    SS928V100开发注意事项(一) 替代海思Hi3559 Hi3519 部分功能 发布于 2023-01-02 17:33:31 采纳率 0% 一.芯片介绍 SS928V100是一颗面向市场推出的专 ...

最新文章

  1. 进程和线程的区别?什么时候用进程?什么时候用线程?----看到好的复制到自己的园子里哈哈...
  2. 学习完Ajax的总结
  3. C语言register关键字—最快的关键字
  4. 网络服务之DNS基本应用
  5. BASIC-2 01字串
  6. mnist手写数字识别python_基于tensorflow的MNIST手写数字识别(二)--入门篇
  7. 交换机分布缓存_网络交换机缓存在数据中心的作用
  8. batchsize大小对训练速度的影响
  9. 复杂版---JS获得某天是一年当中的第几天
  10. php调用shell的方法
  11. 【白皮书分享】2020新式茶饮白皮书:数字化进阶-奈雪.pdf(附下载链接)
  12. PS2021要求计算机配置,Photoshop2021体验:傻瓜操作体验下系统需求大大增加!
  13. double write buffer
  14. 数据增强在贝壳找房文本分类中的应用
  15. Elasticsearch分词导致的查找错误
  16. 武汉理工大学-数值分析-2019年期末复习提纲
  17. 给table表格加斜线
  18. python学习笔记——类与对象、常用函数
  19. MATLAB 2020a中文版安装步骤(简洁版)
  20. CentOS8搭建FTP服务器

热门文章

  1. sdut 3341数据结构实验之二叉树二:遍历二叉树
  2. 模拟退火求函数最值问题求解
  3. 基于adaboost的人脸检测方法
  4. 插值MATLAB实现(牛顿差商、插值误差、龙格现象、切比雪夫插值)
  5. handlerinterceptoradapter 获取请求参数_SSM框架防止重复请求
  6. php非,PHP实现非对称加密
  7. python第10天(上)
  8. 可迭代对象、迭代器与生成器
  9. MySQL 数据库规范--调优篇(终结篇)
  10. ◎◎identity ,ident_current() ,scope_identity的区别