再现理想 发表于 2015-1-18 11:27:52

IOS编程:iOS计划老手引导仓酷云

把上面两个对象连在一起把他们变成一个整体所有的CD操作都是通过这个类的这个需要仔细看文档了举个不恰当的例子就像三个人收拾衣服一个人负责衣服的存放位置(NSManagedObjectModel)一个人负责把衣服分类冬天穿夏天穿等(NSPersistentStoreCoordinator)因为有些开辟者既做开辟又做计划,我发明良多计划者们都对UI过渡,或是在iPhone和iPad计划上的细节分歧感应忧?。在这个老手引导中,我会匡助你理清这些细节成绩,先容iOS和UI计划的观点。
界面
作为一个好的计划师,懂得你的界面和它的细节十分主要。我信任你已见过很多像素低的图片被过年夜的界面拉年夜的可怕情形。一样的,假如你对屏幕上像素的脚色有所曲解的话,那末,你的计划就会呈现含混,压扁,全是马赛克格子的情形。
iOS设备次要有两种情势:iPhone和iPad。不外因为iPhone5,iPadmini和Retina屏的存在,情形有些庞大。最主要的分歧在于设备是不是是Retina屏。Retina屏的明晰度很高,好的计划在它下面会看上往更好。可是不幸的是假如计划上存在缺点的话也会变的更分明。
Retina屏幕
最新的iPhone和iPad设备都利用了Retina屏幕,超高分辩率屏幕让人眼没法分辩出像素。Retina显现屏的像素密度高,比非Retina显现屏的像素数目多了4倍。这类高分辩率的显现让笔墨变得加倍明晰,能够显现更明晰的细节。为Retina显现屏计划对照庞大,以是这一块十分主要。

<br>
Pixels
一个像素是屏幕上最小的盘算单元。它代表了显现上的一个极小的方块。假如你一向缩小屏幕,你就能够看到它们,和块于块之间的距离。
相对没有宽度低于1px的线,0.4像素的直线是不存在的。
Points
我们利用Points(pt)作为一个相对的丈量尺寸,1Point能够代表多个像素。好比以point来丈量,iPad的分辩率都是一样的,iPhone以point来丈量宽度也都是一样的。(编注:像素是绝对巨细,而point是相对巨细。)
你必要利用Point来思索计划,而不是利用像素。可是有一点很主要,每一个Point能够由良多像素构成,以是这里会有一些多出的细节成绩。
如今来看看这些设备的分辩率吧。你能够看到iPhone3GS和iPhone4像素分辩率上有很年夜的变更,但触及到元素尺寸,它们是没有变更的。利用Point来思索计划在思索物理尺寸(好比说手指的巨细)和屏幕上的元素(好比说一个按钮)之间的互动的时分十分有效。

<br>
相干材料
DesigningforRetina
RetinaDisplayDesignTechniquesandWorkflow
iOS计划清单
Storyboards

良多计划师都选择创立storyboard来开辟高程度的app界面流程。storyboard的第一个版本一般是画在纸上的,只是复杂地用笔墨把box毗连在一同。当你在纸上画出多个屏幕后,你会发明设想在这些屏幕之间切换扫瞄会复杂的多。一般,那些纷歧致的和庞大的计划会立即变得十分分明。你也有过良多次如许的时分:我想要做(译者注:某个功效大概计划)...但当你入手下手在屏幕上理论的时分,会发明屏幕上没有分明的空间同意你操纵本人的设法。


<br>
你能够把最后的粗拙的storyboard作为一个框架来构造和计划一个更加饱满的观点。草图出来后,更具体的storyboard能够便利其别人与之举行交互,以是你能够花工夫让用户“实验”你的计划,以此来懂得他们是不是了解产物。测试你的计划是你懂得哪些行得通,哪些行欠亨的好举措。
相干浏览:
PrintableTemplates
FromWayfindingtoInteractionDesign
结构
当入手下手结构的时分,最好先不要往想粉饰的成绩。你必要专注于UI的中心架构。复杂说,就是每一个“小物件”放在屏幕上哪一个地位。这是草图和终极产物之间的一步,这时候你能够做一个地保真度的版本,不致于消费你太多工夫,假如全体结构必要重构时也不会华侈太多工夫。
层级
层级有两个主要义务:它让用户懂得app的导航布局,让用户晓得点击一个按钮会发生甚么样的效果。app一般都有一块功效地区被分别出来,一样平常都是在屏幕底部以工具栏的情势出现。如今很多app不再利用工具栏了,它们在侧边会翻开一个"hamburger"菜单大概加载一个"grid"菜单,app顶部以navigationbar帮助导航,便利用户发明主要的工具。

<br>
UI模板
利用现有的原型工具和模板能够疾速画出一个app原型。现有的iOS模板能够给帮你做出有原生用户界面感到的原型,并且不必要消费良多工夫。但是利用这些模板大概会让客户带来狐疑,由于他们大概会以为这是完制品。以是良多计划师会利用有“绘画”感到的模板来制造原型。利用UI模板的一个弱点就是你只能利用通用的UI元素,而不会往思索制造新的,更合适的UI元素。

<br>
方针尺寸
选择UI元素的尺寸巨细(好比说按钮,滑块,开关等),一般说是在对细节和可用性举行均衡。因为手指触摸点经常不是很准确,以是触摸点的巨细必要和手指的巨细差未几,苹果指派的巨细是44pt*44pt。假如你的触摸方针在视觉上对照小,那你必要指派一个比实践视觉展现年夜点的触摸地区。

<br>
方针地位
当在网上扫瞄时,你大概有过不测点击的履历,但这一点很少产生在鼠标点击上。为了避免这类情形在挪动端产生,你要制止让尺寸较小的触摸方针拥堵在一同,出格是在两种点击会激发功效差别较年夜的情形下(好比说“告发”就不克不及安排在“喜好”的中间)。相似的,把一些相干的功效分离安排也很让人厌恶。以是,均衡很主要。

<br>
相干浏览
TheAppleHIGonPlatformCharacteristics
TheTeehan+LaxiPhoneandiPadtemplates
SketchTemplate
WireframingGuide+Resources
通用&天真的计划
给iOS做计划的时分,你不单单只是为单一的屏幕尺寸做计划。即便你的app不是通用的,你仍需思索分歧偏向和垂直的天真性。当你思索结构怎样收索和展现时,想一想用户在某个特定偏向上利用特定设备的企图。
竖直vs程度
良多计划师在处置设备竖直和程度偏向安排的结构成绩时是接纳选择一种结构,然后不管用户的设备处于何种偏向,app都锁定这类结构。这的确是削减事情量的好举措,可是却没有思索到分歧用户的需求。你大概把app锁定在竖直偏向,但用户大概会以为不便利文本输出。大概你能够把app的结构锁定在程度偏向上,但用户偶然候但愿只用单手来把持设备的。结构偏向的天真性是挪动设备的中心功效之一,用户但愿结构能够天真把持它。

<br>
iPadvsiPhone
iPad和iPhone长短常分歧的设备。基于你计划的app,用户大概会但愿有通用的办理计划。只限于iPad,只限于iPhone或是两个独自的app。良多限定都是相似的,iPad的屏幕更年夜,同意用户举行更有制造性的举动和更长工夫的利用。而iPhone便携性意味着用户但愿能够尽量快地猎取更多信息,和更快地处置义务,而常常这些举动常常是产生在用户挪动的过程当中。

<br>
iPhone5vs典范款iPhone
典范款iPhone和iPhone5高度上的分歧意味着计划师必要在高度上做一些天真的变更。这不是说你必要为iPhone5和典范的iPhone独自做计划,你能够指定哪些部分的计划能够主动扩大,哪些部分是必要流动尺寸的(宽度和高度都是云云)。

<br>
iPadvsiPadMini
多半情形喜下,你能够以为iPadmini是iPad2。最年夜的区分就是iPadmini屏幕更小,可是分辩率是一样的。这就是说触摸方针的地区面积会变小(而你对此没有任何举措)。以是当处置iPad计划时,要出格审慎小尺寸的触摸方针。假如用户以为他们点击了某些内容(大概某个控件),可是却点击到了方针中间的按钮,那他们就会十分懊丧。

<br>
你大概会注重到一个广泛的成绩,良多情形下触摸点必要加倍天真,可是那些流动稳定的却可以匡助我们了解息争决天真的结构成绩。这在iOS体系中被称作“结构束缚(layoutconstraints)“。结构束缚是iOS体系中“主动结构(AutoLayout)”的一部分。经由过程利用结构束缚丑化界面,你能够分明的告知开辟工程师们你但愿界面怎样结构。

<br>
主动结构的束缚表
交互
为iOS做计划其实不仅仅只是计划屏幕上元素的摆放地位,还必要思索界面交互。iOS设备的高分辩率,便携性和触摸屏幕给计划师和开辟者供应了探究更丰厚交互体例的时机。每一个app都是举世无双的,但仍有空间和时机引进别致的观点,为用户做出有效且让他们兴奋的计划会令他们冲动。
间接操纵
与鼠标和指针的直接操纵分歧,在iOS设备上用户是能够间接触摸屏幕举行操纵的。如许的间接打仗让交互有了更多的大概。你大概对滑动解锁,下拉革新,拖动,捏,滑动消散/删除等手势很熟习。均衡操纵和屏幕上可见的显现很主要,太敏感大概太愚钝城市让用户难以发明和进修这些手势。反之,散落在屏幕上的按钮制造了界面但同时也使界面凌乱。年夜部分情形下用户都但愿操纵以后,使用马上会有反响,假如无反响的话用户则会感应懊丧。

<br>
触摸形态&反应
在计划按钮和界面元素时,请确保给了用户充足的反应。用户希冀iOS设备有高交互性,这意味着间接交互必要有实时展现的效果。假如当用户触摸按钮,而按钮没有显现出被摁下的形态,大概显现的不那末分明的话,用户就会感应狐疑。默许情形下,当按钮被点击,iOS会有一个变暗的mask(遮罩),一般这类做法并非非常符合。请记着要处置好这些小细节,这些就是好的app和了不得的app之间的区分地点。

<br>
动画
动画能够为供应给用户更多的视觉提醒,那是静态图片没法赐与的。好比说,假如你分享了一个记事表,用户启动了同步,删除、交换大概新增信息。这时候假如这两种形态之间的过渡很僵硬,用户很难发明哪些中央产生变更。创立一个视觉上的过渡动画就能够匡助用户了解这个历程和变更。

<br>
segue
iOS顶用segue来称号全部屏幕的转换。你应当用segue作为给屏幕层级的一个空间表示。在iOS中你大概熟习侧滑展现分歧的页面层级,轻弹改动设置和从屏幕底部滑出modalview等。假如你决意要计划一个定制的Segue,那你必要创立一个shortstoryboard大概一个动画演示。这对开辟者了解你的交互,掌控恶化换工夫十分有效。

<br>
相干浏览
TransitionalInterfaces
TheYearoftheLookingGlass
AnimatingwithPhysics
排版
iOS十分善于撑持自界说字体衬着,这一点十分对字体极客的口胃。iOS默许的体系字体是HelveticaNeue,但它另有良多内置的字体可供选择。每次iOS较年夜的更新都是撑持更年夜的字体。
版式控件
在iOSapp中举行自界说追踪,调剂行距,字间距比在网页上坚苦的多。只管iOS6优化了textcontrol,在iOSapp中做以上的举措仍旧不是很简单。假如你但愿能完整把持计划中的这一部分(特别是dynamictext),你必要事前和开辟工程师相同好细节。
版权

利用定制的版式的时分,购置自力的利用允许十分主要。这一点大概有点坚苦,依据发卖方的分歧,购置用度大概十分高。我是间接只用foundry的字体,但偶然也不克不及完整令我中意。避开版权成绩的一个办法是将笔墨输入为图片的情势。但这类办法也有坏处,在举行一些小局限修正时不敷天真,而且对一些目力欠好的用户来讲,会损坏app的易用性。

相干浏览
iOSFonts
AppFonts
HowMuchDoesItCostToUseAFontInMyiOSApp
利用工具
只管每种图片处置工具都纷歧样,可是不管你用哪一种工具你都必需记着以下几点。
像素调适
最好利用矢量图工具来创立UI元素(好比说是按钮和icon),然后某些时分必需将这些矢量图转化为位图。最初将图片在屏幕中展现的时分,位图必需切合必定的像素。假如栅格化的位图线条不克不及完善的适配划定的像素,那末图片会变得含混。像素调试次要为了确保程度大概垂直偏向上的线可以恰好落在像素界限上。经由过程像素界限得当地调剂图形能够打造出彩的效果,直到现实证实后你才大概意想到这一点。

<br>
色彩
Xcode在打包assets的时分,会往除asset中图片的色彩。以是在入手下手的时分你就要制止利用带色彩的文件,最好完整往失落色彩。带有色彩的文件会让图片变年夜,会下降衬着速率。实际是因为屏幕的纷歧样,显现出的色采也纷歧样。与其和实际做奋斗不如承受它,多在真机长进行测试,看看图片显现出来的效果。

<br>
计划@1x
当你入手下手给屏幕创立画板的时分,你会想究竟要做多年夜的尺寸。以是我们保举你创立和屏幕的点分辩率一样巨细的画板。以是假如你为iPad做计划的话,你就把画板的巨细设置为1024*786像素(只管顶部的20像素会被形态栏占用)。如许的话,就算最初必要输入资本的时分,你也必要创立retina的资本。

<br>
侥幸的是如今有剧本和工具能够用来主动创立两倍年夜的资本,削减野生的本钱。为了使这类扩展减少的事情完善的完成,你必要全体利用能够扩展减少的元素,制止在计划的工程中利用位图。
计划@2x
如今有需求来为画板利用像素分辩率。基于工具的分歧,难度也会有所变更。可是这么做会有一些伤害,对物理尺寸的巨细很难有一个很分明的感到,减少资本比缩小资本更难。可是从主动的方面看,按2倍的尺寸举行计划可让你在设备更好的处置像素。你能够画更细的线条,处置更多的细节,而这些细节是没法在1倍的画板中体现出来的。你会发明良多的计划师和文章都利用1倍的画板,以是如今我保举你利用一倍的,然是因为retina设备的日渐成熟,我信任今后会有更多的人利用在比设备年夜2倍的画板长进行计划。

<br>
相干浏览
PixelFitting
SnappingtoPixelsinPhotoshop
SettingupPhotoshopforiOSDesign
计划icon
一般icon的计划是和UI计划纷歧样的历程,由于icon计划更多的是绘图。只管关于icon计划良多都谈到了品牌,隐喻和作风的联贯性。关于作风这一点,经由过程均衡现有的iOS的作风和app的庚哥来坚持联贯性十分主要。即便是扁平的icon计划也会包含一些三维的方面来增添视觉效果。

<br>
默许情形iOS体系划定icon必需是圆角,加暗影。尺度的制造办法将icon制造为一个矩形,通明度为0,然后iOS体系会本人对他举行加工。可是苹果其实不能包管圆角的联贯性,以是最好仍是本人往制造圆角,如许才干更好的往计划icon。你还能够经由过程标明icon是“precomposed”来封闭默许增添的暗影功效。
在上表中你能够找到各式的icon尺寸。假如你只必要制造iPhoneapp,你就只必要iPhone的资本(iPad同理)。良多人城市对各类尺寸的icon尺寸感应头疼。可是与其回绝它,不如拥抱这类计划,把它作为一种计划束缚。好比说iAWriterOSX(点此检察)的icon计划就依据各类icon尺寸巨细的纷歧样,来调剂包抄Writer这个词的面积。这么做就让他们能够坚持一个明晰简单浏览的尺寸,同时不会得到计划组成的均衡。
相干浏览
CustomIconGuidelines
AlltheiOSAppIconSizes
iOSIconCornerRadius
AppIconTemplate
iOSDesignCheatSheet
测试
只管良多计划师不肯意市场查询拜访,你仍是必要从你的用户那失掉关于计划的反应。不要问他们想要甚么,间接把你的计划展现给他们看,看他们是怎样反响的。经由过程研讨这些反应,你能够晓得哪方面的界面必要增强。这是在计划的草图时代常常做的,如许你能够依据反应疾速的调剂计划。
一旦视觉计划计划出来的时分,记着要在真机长进行测试。在电脑屏幕上的元素和一样的色彩深度的展现常常和真机上其实不分歧。某个元素你大概以为ok了,可是在真机上大概色彩很浅,或是完整看不见。记着要在日间,亮度低的情况下举行测试,同时还要思索用户多是色盲的情形。这么思索会给你的视觉效果计划带来一个新的高度。
相干浏览
AGuidetoMobileTesting
BriefApp
Lookback
SkalaPreview
LiveView
输入资本
开辟的资本筹办是计划过程当中一个主要可是简单被无视的部分。最好是计划者来从源计划文件夹来打包和输入资本,计划者才干了解计划的最好部分。正确,完全,具有联贯性,收拾优秀的资本文件夹能够明显的削减和开辟者的往返相同本钱,计划者也能够失掉最靠近计划版本的功效。
作为基本阶段,计划者必要供应一套PNG格局的图片。每一个图片都分离代表UI中独自的一个部分。好比说,你大概必要一个原生按钮.png和icons,另有在按钮上的图片好比说addo-note.png和汉堡包.png。你同时必要处置字体,字号,色彩等工具。
Retina资本(@2x)
每一个必要输入的图片资本你都必要创立两张图片。个中一个是一般一倍分辩率的资本,另外一个是两倍分辩率的资本。retina的资本必需是整的两倍巨细。以是一个44*88像素的按钮必要有88*176像素的retina资本。你的资本的retina的版本必要和原文件是一样的名字,可是必要在前面增添@2x。以这个按钮来讲,输入的资本中要有button.png和button@2x.png。

<br>
启动画面
当iOSapp被翻开的时分,会起首显现一张事后设置好的图片。为了让app看起来比实践加载的快,你可使用一张空缺的UI图片作为启动画面,如许给用户的感到是数据正在加载中。你必要给每种设备都创立一张适配它分辩率的图片(包含iPad的横屏分辩率),然后必要减往顶部的20像素,顶部是被形态栏占往的。制止启动动画放进告白,除非你以为他能够匡助用户。

<br>
SliceSheet
筹办输入的用户界面的时分,你必要创立一个独自的canvas。只管不要修正一整块的计划,能够将UI元素的独自的分别出来,单个的将他们安排到网格当中。你必要确保一切相似的资本都有不异的尺寸,尺寸巨细得当。好比说一切的tabbutton的icon都必需要巨细分歧。资本的分歧性和可展望性能够匡助开辟者制止呈现结构成绩,如许也能够使计划晋级变的更简单。

<br>
必要SliceSheet的一个主要缘故原由是有它的话能够更简单晋级,交换资本更简单。有独自的一个中央,一切的输入都在那里产生,一切工具都被正确的定名,没有任何层级必要埋没,如许的话,再次输入资本就会变得复杂。再次输入资本这类情形偶然候会产生,假如某些特定的icon没有显现出来大概某些中央呈现了一些变更。有一个SliceSheet能够削减输入的本钱,计划假如有所更新,能够实时举行测试。
界面申明文档
只是复杂的将图片资本交给开辟者以后并非就此事情就完成了。就就比如玩一个庞大的拼图游戏,必定会有一些缺掉的部分,某些图片安排的地位也会有毛病。为了匡助开辟者做出你的计划,你必需要写一个正确的用户界面文档,告知开辟者他们之间是怎样举行交互的。这个文档能够是PDF格局的,也但是是网页版本,能够是是Keynote格局,但凡你随手的都能够,只需文件打的开。
一般来讲这个文件会一页一页的申明app的细节情形,各个中央的UI的分歧,他们必要怎样显现。包含以下内容:
尺寸:UI元素的尺寸和两头的距离
束缚:结构的哪些部分是同意拉年夜的,哪些不同意
色彩:字体的色彩,界限,背景等等——给他们一个名字+RGB/HSB值
字体:按钮,标签等等的字体——包含分量和尺寸
资本:在哪利用他们和它们的名字
这些信息越具体,最初做出来的工具就越能切近你的计划。写文档这类事变看上往十分贫苦,可是它可以极年夜的延长你和工程师交换的工夫。同时还极年夜的制止了了做出来的工具部切合你计划,因而愤怒的心情。请懂得一切收到这份文件的人仍是大概会有疑问,就仿佛你偶尔的把某些事变给忘记了。
完成包
为了确保你没有忘记甚么事变,这里我列出了一些开辟者大概必要懂得的工具。
字体:你在计划顶用到的一切字体,利用TTF格局
图片资本:一切的独自的UI元素图片,@1x和@2x版本,png格局
icon:app的一切icon(包含retina版本的),png格局
启动画面:一切你撑持的设备的启动画面版本
Storyboard:一张年夜的图标申明界面的交互
尺寸和束缚:用图表的情势就是UI元素的尺寸和他们的结构束缚
动画细节:计时,视频,帧和图标来注释动画是甚么样的,转场怎样举行
色彩:app中一切利用的色彩的RGB值或是HSB值,接纳图表的情势,假如可以给这些色彩定名的话会很有匡助

照着书上的例子,一个一个做下来,只要不是文盲,就都会的呀,没有体现我的一点点个人价值。所以我决定了,不能再这样下去

山那边是海 发表于 2015-1-21 07:17:35

AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。

分手快乐 发表于 2015-1-30 10:59:15

每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。

再见西城 发表于 2015-2-6 07:41:38

iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。

愤怒的大鸟 发表于 2015-2-8 03:24:46

众多研发人员积极参与到iOS平台的开发中来也就不足为奇了。

蒙在股里 发表于 2015-2-8 03:53:09

培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦,

灵魂腐蚀 发表于 2015-2-11 19:08:27

其实在培训的过程中,学习到最多的就是查资料的方式,当时感觉老师好坑,什么都不告诉我们,让我们自己去查,但是现在觉得还是要自己解决问题,这样才能理解的更加深入。

金色的骷髅 发表于 2015-3-2 16:46:05

在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。

仓酷云 发表于 2015-3-10 22:39:58

学习ios没什么捷径,关键在于多动手敲,曾看到前辈开玩笑说怎么快速学会某技术,答案是:“提高打字速度,快点写代码就能快点学会了”。

再现理想 发表于 2015-3-13 02:07:55

特别是在校的学生,都存在一个小小的尴尬——虽然学习iOS开发的热情高涨,但由于没有多余的银子购买昂贵的Mac电脑而踟蹰不前。其实,针对初学者,如果想进入iOS开发的天地

因胸联盟 发表于 2015-3-13 09:08:25

要学会通过各种方法将面前的事情变成自己感兴趣的,那专研起来就不会是无聊和折磨了。

柔情似水 发表于 2015-3-20 17:38:15

最后在做项目的时候一定要认真对待,毕竟这个直接和你的就业挂钩,这也是锻炼你实际操作的能力。

海妖 发表于 2015-4-26 22:33:23

在百度搜索你想要了解的类名(苹果的cocoa和cocoatouch框架的类名很有特点很容易搜到,前缀都是NS or UI),看别人写的博客详解
页: [1]
查看完整版本: IOS编程:iOS计划老手引导仓酷云