IOS7 开发注意事项

转载 2013年12月04日 14:42:35

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支持一些新的行为:可以选择音频输入的首选项,包括来自内置麦克风的音频;支持多通道的输入和输出


相关文章推荐

iOS7开发注意事项

1,修改状态栏的样式和隐藏。 首先,需要在Info.plist配置文件中,增加键:UIViewControllerBasedStatusBarAppearance,并设置为YES; 然后,...

IOS7 开发注意事项

IOS7 开发注意事项

iOS 10.2 越狱更新到yalu102 beta7,很稳定,很多注意事项及修复ssh和scp连接教程

其实yalu 已经说明了很多需要注意的事情,不过可能都是英文,大家懒的去看 下面内容没有插件相关内容,都是越狱工具方面的注意事项,想了解插件相关自行搜索 最新版本beta7,发布地址为:htt...

iOS7中UILabel高度调整注意事项

我的“记词助手”在升级到iOS7之后,一直出现UILabel错位的问题: 我的label是用- (CGSize)sizeWithFont:(UIFont *)font constrain...

iOS证书制作攻略及配置注意事项

  • 2015年05月26日 15:22
  • 2.13MB
  • 下载

东软JavaWeb实训记-DAY7-小组项目开发实践(c:ForEach+SVN共享+开发流程+注意事项)

实例点我 %> 掌握 jstl:以标签的格式代替 java 完成相应的操作  核心标签 c开头  c:forEach items:表示循环处理的数据,要么是数组要么是集合(List,...

iOS开发万能的transform注意事项,以及viewWithTag以及.png后缀可以省略的一些知识

转载自:http://blog.csdn.net/weisubao/article/details/40015377 注意事项: (1)图片如果是png格式的话,在代码中可...

iOS开发:2017 苹果APP上架更新应用版本注意事项及APP版本迭代步骤方法

前几天苹果刚出台新的政策协议,警告禁止使用APP热更新,然后就收到苹果发的警告邮件,然后并没有在意,直到今天需要更新之前上架应用版本,才发现了问题。如果你的开发者账号已经同意了苹果开发者官网的最新协议...
  • CC1991_
  • CC1991_
  • 2017年03月15日 17:30
  • 3340

iOS开发编码规范与审核时的注意事项

iOS开发编码规范与审核时的注意事项 一. 编码的排版格式 1 代码的缩进应使用空格(SPACE),不能使用制表符(TAB),并且缩进以2个字符为单位。 2 空格的使用  a) 关键字与其后的...

iOS开发支付宝 集成SDK注意事项

* 支付宝的SDK下载和百度、讯飞语言等SDK不一样,直接搜支付宝进入官网下载 * 支付宝下载(选择我是商户用户—>如何集成—>移动开发) * 集成前查看demo * 集成时需要用到的库 ...
  • iOSbird
  • iOSbird
  • 2016年01月14日 09:58
  • 560
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS7 开发注意事项
举报原因:
原因补充:

(最多只允许输入30个字)