文档章节

IOS7 Tech Talk总结

gaoios
 gaoios
发布于 2014/01/13 22:16
字数 1369
阅读 70
收藏 0

导航

一、kick off

 

A、苹果推出了iOS7,他们希望开发者打造的apps能够更具有吸引力,首先是第一印象要好,App Store的截图制作就要好。 

 

在开发软件的时候,应该注重字体的颜色和图像,要用透明,要注重细节。

 

要更有效率地使用CPU,GPU。结合最新的API去打造最新的特征,抓好特征才能够脱颖而出。

 

苹果给出的IOS视觉效果与技术结合比较好的软件:WWF,Procreate。

 

B、iOS7的五个新特征

 

1.A7处理器。      

苹果在芯片上进行了优化,64位编码,是未来的趋势。开发apps要发挥出A7处理器强大的性能。做的比较好的软件有:djay2, SketchBook Mobile,Infinity Blade3.

2. M7

提供更好的加速器,更精确识别移动等等。做的比较好的软件有:Argus。MotionAware。

3.iBeacon

苹果很看中这个的功能,大会中多次强调。 多用于室内,进入到一定区域时,可以想用户推送信息。

比如超市,博物馆。当天的大会也用到了这个功能,进入到会场附近,给开发者推送了大会的push。

4.Always Ready。

永久在线,多任务,后台的上传下载功能。

5. Passcodes。安全信息。

二、大会内容

A.Session 1:iOS7 上的设计

 

主要的原则:

1.更清晰,要加强沟通,对话。要简洁,容易理解。 比如:雅虎天气。

2.要以内容为主,突出内容。 让文字可读,清晰,更突出。 背景要半透明。

3.要设计的有深度感。 创造活泼的用户体验,让用户的注意力专注。

 

注意:

1.做产品设计时,要用简单的词语,不要用书面用语。

2.用户界面不要喧宾夺主,要突出内容。不要让界面抢了内容的风头。

3.App里最好在空间上设计的有关联,设计的动画效果要连续连贯。

 

iOS 7设计建议:

1.要重新设计icon,因为形状有细微的变动。

2.tabbar很重要,要看起来漂亮。

3.颜色的设计非常非常重要,哪些颜色是按钮,哪些是沟通的。

4.NavigationBar,title的颜色跟按钮要区分。

5.去掉按钮的边框,只用文字,或者加上边框线。

6.要半透明和虚化。目的是更清晰,更突显内容。注意力还保持在app中,不被转移。

7.iOS 7要给人的感觉,动画要是有动态的,立体化的,有时差,层次感。

B.Session 2:iOS 7新特征

 

1.视差效果,Motion Effects

比如,手机倾斜时候,UIAlert的位置变化,偏移。

 

关键代码:

UIMotionEffect

UIInterpolatingMotionEffect *xAxis;

UIMotionEffectGroup *group;

【UIView addMotionEffect:group】;

 

2.要增加画面的真实感:引力,撞击,发散。

这些不是打造游戏的,是专门为应用设计的,增加界面的厚实感。比如:iOS 7屏保切换照相机时松手的重力效果。

关键词与代码:

InteractiveTransitioning    UIPercentDrivenInteractiveTransition

UIDynamicAnimator,反弹,吸引力效果。

UIdynamicItemBehavior

UISnapBehavor

 

3.UIVIewController,iOS的灵魂,有了一些变动。

关键代码:

self.edgesForExtendedLayout = UIRectEdgeAll;  内容在导航栏之下。 

self.automaticallyAdjustScrollViewInsets = YES;

UIStatusBarStyleDefault

-(bool) perfersStatusBarHidden.

 

4.Text Kit

UIkit的一部分,用于文字的排版。

关键代码:

a、Text Styles

b、Dynamic Type   改变内容的大小。 只有内容的字体会受到影响,导航栏不会受到影响。

c、Font Descriptors   UIFontDescriptor  包含着字体的所用东西

 

C. Session 3:A7 64bit & iOS 7 SDK

 

需要注意的:

1、不同设备之间分享数据,往iCloud中存,写32位的话,就读32位。 写64位就读64位。

2、64位的会占用更多的内存。 64位效率更快。

Adopting 64 bit

Update Architectures - Update Libraries - Fix Issues - Test,test,test!

 

Building iOS7 

怎样在使用iOS 7的时候,同时支持iOS 6? 

1、Frameworks and classes

通知注册之前加判断 if(&tongzhi != nil) then …

 

2、Methods

SEL selector = @selector(addMotionEffect:);

if ([self.view respondsToSelector:selector])

{

UIMotionEffect *effect = 【self makeNewParallaxMotionEffect】;

}

 

3、 Capabilities

4、Designs

5、Architectures

#if __LP64__

代码只在64位上运行

#else

代码在32位上运行

#endif

 

 

但是上面的这些都不直白,不干净。 下面介绍一些苹果认为更好的方法。 

1.Class Clusters 子类化

 根据版本用不同的子类。以后不用可以直接删掉子类。 

2. Categories

 

用分类,打造一个跟新名字相似的名字。也用responds封起来

   UIMotionEffect *effect = 【self makeNewParallaxMotionEffect】;

   [self.view addMotionEffect:effect];

 

在分类中,去判断版本,用不同的方法。

 

D.Session 4:新技术,提高用户体验

a、减少app的大小。  

1.清理自己的app。打开你的压缩包。去掉你的垃圾文件。过时的文件删除。Use Resizable iMages。 

2.压缩   Video - H.264    Audio - 22.05赫兹   大的图片用 .jpg

 

b、后台下载,ios管理,支持暂停继续取消。

关键词:

NSURLSessionConfiguration *config = [ NSURLSessionConfiguration backgroundSessionConfiguration: @“”];

NSURLSession

NSURLSessionDownloadTask *task 。

 

c、多任务

关键词: Background Fetch

 

d、iBeacon

蓝牙传出信号,IOS靠近信号,就会收到通知。

后台不可以使用ibeacon,设备必须解锁。 在真实的环境中要测试。

苹果很看重这个。

 

E.Session 5:苹果开发小技巧

a、Xcode5

1..m中添加方法,不需要写返回值,系统就会出默认选项

2.Edit in Scope:同时修改相同变量名

 

b、模拟器

1.呼叫状态栏,调试界面。

2.主动内存警告

3.调试-混合层

原帖地址:http://www.cocoachina.com/bbs/read.php?tid=169601

本文转载自:http://www.cocoachina.com/bbs/read.php?tid=169601

gaoios
粉丝 4
博文 9
码字总数 4887
作品 0
苏州
私信 提问
PhoneGap实现Localization的一个例子

原文地址:http://www.pwhack.me/archives/phonegap-localization.html 这次参加“iOS7 Tech Talk”,了解了Localization和"Think Globally"的重要性。决定在目前已上线到app store的PhoneGa......

PortWatcher
2013/12/08
0
0
iphone4体验ios7系统

前言 今天闲来没事,就将iphone4原来的ios6系统升级到了ios7 beta版,想尝试下最近炒的比较火的ios7系统,并体验下什么叫扁平化设计。现截图如下和大家一起分享下。 ios7截图 主要的界面截图...

算法与编程之美
2013/06/22
0
0
【IOS】IOS7 UI适配

昨天下了把手机升级成了IOS7 正式版,然后下了最新的xocde5. 试着编译了一下刚刚完成的几个应用,还好问题不大,半个小时的时间都适配好了,然后改了下几个新出现的warning。过几天等空了,要...

toss156
2013/09/20
0
0
iOS5、6、7状态栏适配方法

由于IOS7的发布,所以应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,因此呢,因适配IOS7而产生的问题也是铺天盖地的卷来,所以了,我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,...

三只脚的猪
2014/03/07
0
0
iOS 6 和 7 的适配方案--XHAdapter

iOS6 7适配的工作总结 // 适配方案1:如果你想在iOS7的SDK运行效果和iOS6的效果一样,做法如下 + // 1、利用系统的方法设置导航条的背景图片 + // 2、利用系统的方法设置导航条的字体颜色、字...

曾宪华-
2014/01/03
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

解决问题&发现问题

作为一个程序员非常重要的的能力就是解决问题的能力,当然除了解决问题之外,还有一个经常被疏忽的能力-发现问题的能力。 解决问题 一套有效的解决问题的能力非常重要,下面是一个解决问题的...

Lubby
26分钟前
7
0
Leetcode PHP题解--D104 167. Two Sum II - Input array is sorted

D104 167. Two Sum II - Input array is sorted 题目链接 167. Two Sum II - Input array is sorted 题目分析 给定一个已经排序好的整数数组,从中寻找两个数字,使其相加之后等于给定的一个...

skys215
33分钟前
6
0
IntelliJ IDEA Spring Boot 2.x 多模块项目创建

在学习Spring Boot 2的时候顺便来学习创建下Maven下的多模块项目创建。方便学习使用整套开发流程。 第一步,检查IDEA,新版本的IDEA可能没有Spring Assistant可通过插件安装(Preferences->P...

被猪拱了的JAVA
33分钟前
6
0
Java运行状态分析2:获取线程堆栈信息

Java运行状态分析2:获取线程堆栈信息 基本概念 出现内存泄漏或者运行缓慢场景,有时候无法直接从业务日志看出问题时候,需要分析jvm内存和线程堆栈 线程堆栈信息主要记录jvm线程在某时刻线程...

indi_yugj
34分钟前
12
0
解决java编译错误:编码GBK的不可映射字符

https://www.cnblogs.com/charleswong/p/8481593.html 新建java文件,存储时Encoding选择了UTF-8, 由于语句中包含中文,javac编译时报错,提示"编码GBK的不可映射字符": 解决办法: 方法一...

时刻在奔跑
40分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部