`
473687880
  • 浏览: 486974 次
文章分类
社区版块
存档分类
最新评论

IOS7 开发注意事项

 
阅读更多

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 = [[[XXViewalloc]init]autorelease];

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

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

subview.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;

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

returncell;

}

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

分享到:
评论

相关推荐

    ios6 开发注意事项

    ios6, 开发注意项, 包括一些ios 特有的东西。

    开发者所需要知道的 iOS 10 SDK 新特性(苹果ios开发新特性)

    开发者所需要知道的 iOS 10 SDK 新特性(苹果ios开发新特性)

    使用 Swift 开发 iOS 应用程序的注意事项与例子

    使用 Swift 开发 iOS 应用程序时需要考虑的几个事项,以及几个精典例子。

    IOS开发-开发心得-技术栈-初学者-学习路线-开发原则

    这篇开发原则涵盖了苹果iOS开发的关键要点和注意事项。它强调了深入了解iOS生态系统、精通编程语言、熟悉开发工具、掌握核心框架、适配不同设备和屏幕、遵循设计准则、注重性能和内存管理、测试和调试、遵循App ...

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

    使用APICloud平台开发APP商用,首先得有开发者账号和各种证书,之后云编译打包正式版,上传到appstore审核上架。现在APICloud特别推出,证书申请和配置在控制台配置证书的注意事项的攻略,提供给大家。

    IOS 开发总结

    IOS 开发总结,xcode快捷键,objective-c 语言注意事项

    IOS开发中使用writeToFile时的注意事项

    本篇文章主要介绍了开发中使用writeToFile时的注意事项,具有很好的参考价值。下面跟着小编一起来看下吧

    IOS ionic打包ios文档.docx

    从angular + ionic 混合开发打包成IOS APP 流程文档,包含详细的截图,IOS 正式申请流程,打包流程,打包注意事项,用于混合开发APP 打包编译

    zello 开发注意事项.txt

    对讲机APP zello 按钮的蓝牙技术文档。包含使用安卓/ios传统蓝牙连接zello时的定义,以及使用无线PTT设备连接时的BLE协议。方便用于蓝牙手咪,蓝牙耳机,BLE无线PTT等设备的开发。

    iOS技术概述

    通用的迁移注意事项 33 迁移数据模型 34 迁移用户界面 34 内存管理 35 框架差异 35 UIKit 与 AppKit 的对比 35 Foundation 框架的差异 38 其他框架的改变 38 iOS 开发者工具 40 Xcode 40 Interface Builder 43 ...

    iOS开发中设计并发任务技术与注意事项

    在OSX和iOS系统中采用了多种实现并发执行任务的方法,与直接创建线程不同,这些方法让开发者只需要关注要执行的任务,然后让系统执行它们即可,不需要关心线程管理的问题,为开发者提供了一个简单而高效的并发任务...

    iOS自动化脚本:用于构建iOS应用并部署到TestFlight或本地设备

    注意事项: 确保你的Mac上已经安装了Xcode和相应的命令行工具。 根据你的需求,你可能需要修改或扩展脚本,例如添加上传IPA到TestFlight或其他分发渠道的代码。 脚本中的ExportOptions.plist文件是Xcode构建过程中...

    Swift语言学习的20个注意事项及其案例

    Swift语言学习的20个注意事项及其案例 这里提供了六个基于 Swift 语言的案例,涵盖不同应用场景,以帮助您更好地了解 Swift: 1. iOS 应用程序:使用 Swift 创建一个简单的 iOS 应用程序,例如记事本应用。该案例将...

    iOS计算器微信小程序毕业设计

    微信小程序开发 iOS计算器.zip 很可能指的是一个微信小程序的开发包,其中包含了实现一个类似于iOS原生计算器...使用与注意事项 解压:下载iOS计算器.zip后,需要使用解压工具(如WinRAR、7-Zip等)将其解压到合适的

    iOS 5基础教程

    第11章 iPad开发注意事项 307 第12章 应用程序设置和用户默认设置 330 第13章 保存数据 358 第14章 iCloud之旅 399 第15章 Grand Central Dispatch、后台处理及其应用 426 第16章 使用Quartz和OpenGL绘图 458 ...

    CustomModalTransition:iOS 7和iOS 8上的自定义过渡

    注意事项 如果在显示时更改了方向,则控制器将无法正确旋转。 只有一个例外,如果提供的控制器是导航控制器,则旋转可以正常工作。 这似乎是iOS 7或iOS 8上的UIKit错误UIPresentationController通过提供一种在方向...

    Unity接入微信与支付宝支付(IOS篇+文档+sdk+源码)

    iOS开发技巧: 通过学习在iOS平台上的支付接入过程,深入了解iOS开发的相关技术和原理。 SDK集成: 掌握如何将第三方SDK集成到Unity项目中,并正确配置和调用相关接口。 阅读建议: 仔细阅读文档: 在开始接入支付...

    基于IOS上MDM技术相关资料整理及汇总

    5、配置描述文件mobileconfig的生成及注意事项 原文地址:http://www.mbaike.net/ios/1560.html 阶段目标:协助IOS端生成mobileconfig文件的生成; 6、安装mobileconfig配置描述文件及完成Authenticate和Token ...

    基础语法02. 项目设定、程序开发与命名的注意事项

    [iOS][Swift][中文]_基礎語法#02._專案設定、程式開發與命名的注意事項

Global site tag (gtag.js) - Google Analytics