童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

iOS8HumanInterfaceGuidelines精选

4月8日 眸中星投稿
  用了两个星期时间断断续续读完iOS的guidelines英文原版,原文是写得有点啰嗦,所以精选了以下觉得比较重要的点,并加以自己的解释;当然如果你有时间,还是推荐阅读英文原文。首先是因为翻译的版本基本是不全的、旧的,就像ISUX的翻译的对比原文就会发现中间省略了好多。本文的作用并不像多数的翻译那样,让你粗略地了解里面的内容,而是精选出一些点使你体会到苹果的设计思想。我读guidelines的目的不仅仅是要看他们是怎样规定的,而是要看他们为什么这样规定,在了解了制定规则背后的原因之后不仅便于记忆规则本身,还能了解苹果的设计思路,当吸收了设计思路之后,就不再是墨守成规,而是更自信和灵活地运用规则,甚至创造属于自己的规则。就像tweetie发明下拉刷新手势之后苹果反而把这种手势加进了自己的guidelines。读英文原版还有一个显然易见的好处就是熟悉专业英语表达,guildlines的措辞显得优美而精确,值得去读读。
  完整读完后,觉得苹果的设计思路是很严谨的UserCentered。经常会出现的一个词是gratuitous(adj。无理由的),告诫要避免无理由的设计。解释一项规定时,常常告诉读者如果你不这样做用户会觉得怎么样,然后产生什么行为,最终导致什么不好的结果;相反按照规则则用户感觉良好,最终导向好的结果。逻辑链条是:设计决定用户感受用户行为设计效果。这可以说是交互设计的基本思考方式,充分分析人机之间的相互作用。我发现很多的设计初学者(包括我自己)经常会范一个错误,就是机械的运用各种设计原则和盲目崇拜大公司的设计,只要自己的设计能在某书的设计原则里找到或者与某知名的产品里一样,那就觉得是OK的。有这想法就是因为还没有了解别人为什么这样定原则的,或为什么这样设计的。这种做法在Guidelines里面的词句形容就是slavishcopy。不止是设计,对待任何事情都不应该“认死理”或“跟大流”,因为这是一种思维上的懒惰,或是盲目的理论自信。不经过思考的理论用来装装逼还是可以的,真正要做设计时这种死理论会害死一个产品。真正的科学家是谦逊的,因为他们坦然接受未知,随时准备着推翻自己之前建立的理论,而不是死死抱住自己的理论盲目自信。
  以下开始游览iOS8Guidelines
  TranslucentelementssuchasControlCenterprovidecontext,helpusersseethatmorecontentisavailable,andcansignaltransience。
  iOS7之后苹果大量运用了半透明效果,相比于Win7的Aero效果,iOS的半透明模糊度更高,透明度更小。国内媒体把这种效果与Win7的Aero都称为毛玻璃,其实并不符合设计者的原意。苹果把这种效果比作ricepaper(米纸),的确它的透明度和厚度更像纸,而Aero是有一条亮边的,更像是玻璃边缘的反光,如下图。
  Windows7Aero
  iOS运用半透明效果的理由是表明本窗口是“暂时transience”的,所以你可以看见几乎所有浮层都是半透明的,所以设计时应该避免一个需要用户长时间停留的窗口使用半透明。另外Guidelines里没提到的作用是增加空间感,表明了本窗口是叠加在其他窗口是上的。扁平化的设计下视觉上不能再采用大面积的阴影表明空间纵深感,所以使用半透明的手法来代替。相比之下,WP倾向于完全摒弃纵深感,而AndroidMaterialDesign则保留了阴影,这比iOS的半透明手法看起来更重一些,但优点是显示更清晰。iOS的米纸效果个人觉得更女性化而Android显得阳刚气一点,这也符合硬件的气质。界面之所以要显示纵深感,是要告诉用户界面的主次层级关系,浮沉是次要而暂时的,浮沉之后才是承载主要任务的界面。但Win7的Aero效果的纵深感却不是出于这一目的,而是用于区分窗口和表示当前正在使用的窗口。
  Useplentyofnegativespace。Negativespacemakesimportantcontentandfunctionalitymorenoticeableandeasiertounderstand。Negativespacecanalsoimpartasenseofcalmandtranquility,anditcanmakeanapplookmorefocusedandefficient。
  使用留白(negativespace)使内容和功能更加容易被发现和容易理解。还可以给人以宁静、高效和专注的感觉。
  Whenusersselectamonth,theyearviewzoomsinandrevealsthemonthview。Today’sdateremainshighlightedandtheyearappearsinthebackbutton,sousersknowexactlywheretheyare,wheretheycamefrom,andhowtogetback。
  Asimilartransitionhappenswhenusersselectaday:Themonthviewappearstosplitapart,pushingthecurrentweektothetopofthescreenandrevealingthehourlyviewoftheselectedday。Witheachtransition,Calendarreinforcesthehierarchicalrelationshipbetweenyears,months,anddays。
  以上两点说的是动画的导航作用,以Calendar为例,年视图点击后放大变为月视图,点击月视图分裂为周视图。每一个动画都表明年月周视图之间的关系,使用户知道怎样切换到他们想要的视图。
  Makeiteasytofocusonthemaintaskbyelevatingimportantcontentorfunctionality。Somegoodwaystodothisaretoplaceprincipalitemsintheupperhalfofthescreenandinlefttorightculturesneartheleftsideofthescreen:
  Usealignmenttoeasescanningandcommunicategroupingsorhierarchy。Alignmenttendstomakeanapplookneatandorganizedanditgivesusersplacestofocuswhiletheyscrollthroughscreenfulsofinformation。Indentationandalignmentofdifferentinformationgroupsindicatehowthegroupsarerelatedandmakeiteasierforuserstofindspecificitems。
  用对齐来为内容分组和重要性排序,为用户提供眼睛的注意点,便于阅读和寻找。
  Asmuchaspossible,avoidinconsistentappearancesinyourUI。Ingeneral,elementsthathavesimilarfunctionsshouldalsolooksimilar。Peopleoftenassumethattheremustbeareasonfortheinconsistenciestheynotice,andthey’reapttospendtimetryingtofigureitout。
  说明一致性的重要性,如果两个东西功能相似但外观不同,用户会疑惑为什么这样设计。所以Form要followfunction。
  Asmuchaspossible,avoiddisplayingasplashscreenorotherstartupexperience。It’sbestwhenuserscanbeginusingyourappimmediately。
  Recommended
  NotRecommended
  尽量避免splashscreen(欢迎页),建议使用LaunchImage来代替,意思是制造一张与首界面相似的静态图片。当用户开启app时先显示这张图,等系统准备就绪后切换到首屏。给用户应用启动很迅速的假象。国内就算是知名的企业也很多违反这原则。
  Avoidaskingpeopletosupplysetupinformation。Instead:
  Focusontheneedsof80percentofyourusers。Whenyoudothis,mostpeoplewon’thavetosupplyanysettings,becausetheappisalreadysetuptobehavethewaytheyexpect。Ifthereisfunctionalitythatonlyafewusersmightwantorthatmostusersmightwantonlyonceleaveitout。
  Getasmuchinformationaspossiblefromothersources。Ifyoucanuseanyoftheinformationpeoplesupplyinbuiltinappordevicesettings,don’taskpeopletoenterthemagain。
  Ifyoumustaskforsetupinformation,promptpeopletoenteritwithinyourapp。Then,storethisinformationassoonaspossible(potentially,inyourapp’ssettings)。Thisway,peoplearen’tforcedtoswitchtoSettingsbeforetheygetthechancetoenjoyyourapp。Ifpeopleneedtomakechangestothisinformationlater,theycangototheapp’ssettingsatanytime。
  避免在一开始就要用户设置,应用应该在不设置的前提下也能让80用户顺利使用。尽量从系统获取数据而不是要用户重复填写。如果真的要设置,也不要跑到系统的setting里,而是在本应用里设置。
  Delayaloginrequirementforaslongaspossible。It’sbestwhenuserscannavigatethroughmuchofyourappandusesomeofitsfunctionalitywithoutloggingin。Forexample,AppStoredoesn’taskuserstologinuntiltheydecidetobuysomething。Usersoftenabandonappsthatforcethemtologinbeforetheycandoanythinguseful。
  Ifusersmustlogin,displayintheloginviewabrief,friendlyexplanationthatdescribesthereasonsfortherequirementandhowitbenefitsusers。
  避免一开始就要登录,否则用户可能没登录就把你的app删了;等用户探索到某些不得不登录的地方才让用户登录;如果不能避免一开始就登录,要给出理由,说明登录的好处。
  Thinkcarefullybeforeprovidinganonboardingexperience
  Giveusersonlytheinformationtheyneedtogetstarted。Agoodonboardingexperienceshowsuserswhattodofirstorbrieflydemonstratesafewofthefeaturesthatmostusersareinterestedin。Ifyougivetoomuchinformationtousersbeforetheyhaveachancetoexploreyourapp,youmakeusersresponsibleforrememberingdetailstheydon’tneedrightawayandyoumaysendthemessagethatyourappishardtouse。Ifadditionalhelpisneededforspecifictasks,providethathelponlywhentheuserisperformingthosetasks。
  认真考虑要不要使用Onboarding(首次使用教程),教程应该仅提供刚开始使用需要的信息,提供太多信息会让用户觉得这应用很难用,而且达不到记忆的效果。最好当用户操作到需要教程的地方才出现该部分的教程。
  NeverquitaniOSappprogrammatically。Peopletendtointerpretthisasacrash。Ifsomethingpreventsyourappfromfunctioningasintended,youneedtotellusersaboutthesituationandexplainwhattheycandoaboutit。Herearetwogoodwaystodothis:
  Ifallappfeaturesareunavailable,displayascreenthatdescribesthesituationandsuggestsacorrection。Theinformationgivesfeedbacktousersandreassuresthemthatthere’snothingwrongwithyourapp。Italsoputsusersincontrol,lettingthemdecidewhethertheywanttotakecorrectiveactionandcontinueusingyourapporswitchtoanotherapp。
  Ifonlysomeappfeaturesareunavailable,displayeitherascreenoranalertwhenpeopletrytousethefeature。Otherwise,peopleshouldbeabletousetherestoftheapp。Ifyoudecidetouseanalert,besuretodisplayitonlywhenpeopletrytoaccessthefeaturethatisn’tfunctioning。
  当某些功能无法使用时,不能使应用自动退出。因为这会使用户觉得是系统崩溃了。应该在页面处或弹框说明原因。
  Broadlyspeaking,therearethreemainstylesofnavigation,eachofwhichiswellsuitedtoaspecificappstructure:
  Hierarchical
  Flat
  Contentorexperiencedriven
  三种信息架构:层级,扁平和内容导向。内容导向指书页,游戏关卡之间的导航
  Ingeneral,it’sbesttogiveusersonepathtoeachscreen。Ifthere’sonescreenthatusersneedtoseeinmorethanonecontext,considerusingatemporaryview,suchasamodalview,actionsheet,oralert。
  一般来说,通往一个页面只有一条路径,如果某页面需要用户在不用的情境下出现,那可以考虑用模态的方式显示。
  Modalitythatis,amodeinwhichsomethingexistsorisexperiencedhasadvantagesanddisadvantages。Itcangiveusersawaytocompleteataskorgetinformationwithoutdistractions,butitdoessobytemporarilypreventingthemfrominteractingwiththerestoftheapp。
  模态Modality,如弹框Alert、气泡popover、浮层表单sheet等相对独立的界面形式,用于显示较为复杂的次要流程任务,好处是暂时让用户专注于次要任务,从而更好地完成主要任务。
  Alwaysprovideanobviousandsafewaytoexitamodaltask。Peopleshouldalwaysbeabletopredictthefateoftheirworkwhentheydismissamodalview。
  要使用户安全地离开模态任务。使用户能预测离开模态后会产生什么后果。
  Inacontentarea,addabuttonborderorbackgroundonlyifnecessary。Buttonsinbars,actionsheets,andalertsdon’tneedbordersbecauseusersknowthatmostoftheitemsintheseareasareinteractive。Inacontentarea,ontheotherhand,abuttonmightneedaborderorabackgroundtodistinguishitfromtherestofthecontent。
  仅仅在有需要的时候才为按钮加边框或色块,有需要的时候指需要把按钮从背景内容中区分的时候。
  ShakeToinitiateanundoorredoaction。
  TouchandholdIneditableorselectabletext,todisplayamagnifiedviewforcursorpositioning。
  DoubletapTozoominandcenterablockofcontentoranimage。
  Tozoomout(ifalreadyzoomedin)。
  Shake在短信app里面能用,长按手势其实并非Android特有,只是在iOS中使用范围较窄,仅在文字操作范围,而android则用长按代替了桌面系统的右键,调出contextual的选项。而双击也仅仅是pinch手势的单手操作代替品而已。
  Feedbackhelpsusersknowwhatanappisdoing,discoverwhattheycandonext,andunderstandtheresultsoftheiractions。UIKitcontrolsandviewsprovidemanykindsoffeedback。
  反馈帮助用户知道应用正在做什么?做的结果是什么?(成功还是失败)接着可以做什么?这是看过对反馈最清晰的定义。
  Avoidunnecessaryalerts。Analertisapowerfulfeedbackmechanism,butitshouldbeusedonlytodeliverimportantandideallyactionableinformation。Ifusersseetoomanyalertsthatdon’tcontainessentialinformation,theyquicklylearntoignoreallalerts。Tolearnmoreaboutusinganalert。
  设计时要考虑用户的反应和可能引起的行为。就像这里以弹框为例子,如果应用不加思考地频繁向用户弹框显示无关紧要的信息,弹框本来的警告作用就会消失,因为用户已经认为弹框是可以忽略的,所以当你再用弹框显示重要警告时,用户很可能直接忽略了。
  Makeiteasyforuserstomakechoices。Forexample,youcanuseapickeroratableviewinsteadofatextfield,becausemostpeoplefinditeasiertoselectanitemfromalistthantotypewords。
  能用picker(选择滚轮)就不用textfield(文字输入框)
  Balancearequestforinputbygivinguserssomethingusefulinreturn。Asenseofgiveandtakehelpspeoplefeelthey’remakingprogressastheymovethroughyourapp。
  要想用户输入一些信息,必须提供相应的回报。
  Don’ttakespaceawayfromthecontentpeoplecareabout。Forexample,displayingasecond,persistentbaratthetopofthescreenthatdoesnothingbutdisplaybrandassetsmeansthatthere’slessroomforcontent。Instead,defertotheuser’scontentandconsiderlessintrusivewaystodisplaypervasivebranding,suchasusingacustomtintorfont,orsubtlycustomizingthebackgroundofascreen。
  不要占用用户的最需要的内容的空间来做放logo。可以用颜色、字体或背景来展示品牌独特性。
  Resistthetemptationtodisplayyourlogothroughouttheapp。Mobiledevicescreensarerelativelysmall,andeveryoccurrenceofalogotakesspaceawayfromthecontentthatuserswanttosee。What’smore,displayingalogoinanappdoesn’tservethesamepurposeasdisplayingitinawebpage:It’scommonforuserstoarriveonawebpagewithoutknowingitsowner,butit’smuchlesslikelythatuserswillopenaniOSappwithoutseeingitsappicon。
  不要沿用网站的设计经验,在应用的每一页放Logo。因为网站是要让从非主页进入的用户知道这是什么网站,但应用不存在这一问题,所以不需要这样设计。(AndroidM的应用链接功能可能会改变这一规则,因为现在一个链接也可以链到一个应用里了)
  LuminousRatio
  Togetthisratio,useanonlinecontrastratiocalculatororyoucanperformthecalculationyourselfusingtheformulaestablishedintheWCAG2。0standard。Ideallythecolorcontrastratioinyourappis4。5:1orhigher。
  一个界面的亮度值对比要高于4。5:1
  Considerchoosingakeycolortoindicateinteractivityandstate。KeycolorsinthebuiltinappsincludeyellowinNotesandredinCalendar。Ifyoudefineakeycolortoindicateinteractivityandstate,makesurethattheothercolorsinyourappdon’tcompetewithit。
  Interactivity可交互性(在AboutFace里面称为Pliancy受范性)指一个平面的元素是否可交互的。iOS8、AndroidL和WP里面都各有一套自己的显示可交互性的方法,这很有趣。iOS6以前苹果用突起的物理隐喻显示按钮的可交互性;iOS7以后改为使用颜色,上文就是说应用需要有一个主色调来显示可交互性,如果按钮实在在背景底下不突出才考虑加边框或者加背景色;AndroidKitkat之前是用色块和轻微的阴影做按钮的,AndroidL很大胆地采用字体来显示按钮可交互性,只要采用全大写的中线体,就算不加颜色也可以是按钮,当然也有有底色色块的按钮;WP则使用直角方形的边框显示按钮。
  iOS7之后
  AndroidL
  WP
  Textshouldneverbesmallerthan11points,evenwhentheuserchoosestheextrasmalltextsize。Forcomparison,thebodystyleusesafontsizeof17pointsatthelargesize,whichisthedefaulttextsizesetting。
  最小的字体不能小于11pt,17pt是标准字体。
  Tohelpyoudecidewhethertousetextoriconsinthenavigationbarortoolbarinyourapp,considerhowmanyiconsarevisibleonscreenatonetime。Toomanyiconsonascreencanmakeanappseemdifficulttodecode。
  NavigationBar(导航栏)与Toolbar(工具栏)上放太多图标会让人觉得很难解释图标的意思。
  RememberthatusersarelikelytoreadthetextinyourUImanytimes,andwhatmightseemcleveratfirstcanbecomeirritatingwhenrepeated。
  UI上的文字用户会看很多次,所以一些自作聪明的文字表达初次看起来有趣,但多次重复看就会觉得很烦。
  Ifnecessary,helpusersgodirectlytoyourapp’ssettingsinSettings。Inparticular,ifyoudisplayamessagethatdescribeswheretofindyoursettings,suchas“GotoSMyAPLocationServices,”replacethedescriptionwithabuttonthatopensthatlocationinSettings。
  不要用文字方式教用户去哪里设置,而是直接跳转
  AestheticIntegrity
  Aestheticintegritydoesn’tmeasurethebeautyofanapp’rather,itrepresentshowwellanapp’sappearanceandbehaviorintegrateswithitsfunctiontosendacoherentmessage。
  AestheticIntegrity美学一致性,指app的外观与行为要与功能一致。
  Consistency
  Consistencyletspeopletransfertheirknowledgeandskillsfromonepartofanapp’sUItoanotherandfromoneapptoanotherapp。
  Consistency一致性指用户能把在一个地方学到的经验运用到另一个地方,一致性能减少用户的学习负担。
  Feedback
  Feedbackacknowledgespeople’sactions,showsthemtheresults,andupdatesthemontheprogressoftheirtask。
  反馈的作用:确认用户的行为、显示过程、显示结果、显示还能做什么
  Soundcanalsogivepeopleusefulfeedback,butitshouldn’tbetheonlyfeedbackmechanismbecausepeoplecan’talwaysheartheirdevices。
  声音可以作为反馈,但不能作为唯一的反馈,因为有可能听不到。
  Metaphors
  Whenvirtualobjectsandactionsinanapparemetaphorsforfamiliarexperienceswhethertheseexperiencesarerootedintherealworldorthedigitalworldusersquicklygrasphowtousetheapp。
  隐喻让用户想起之前的经验,这种经验无论是从物理世界得来的,还是虚拟世界得来的,都能帮助用户快速理解现有的这个物件是怎么使用的。所以隐喻并不是只是指物理的隐喻。例如保存按钮的图标用软盘的形状,最初是物理隐喻,但并现在软盘已经消失了,但人们还是知道软盘代表保存,因为来自虚拟世界的其他软件都是用这种图标。同样iOS6之前很多操作都使用物理世界隐喻,但到了iOS7之后就算不再使用物理隐喻,用户还是知道怎样操作,因为已经在iOS6这个虚拟世界中获得了类似的经验。
  UserControl
  Peoplenotappsshouldinitiateandcontrolactions。Anappcansuggestacourseofactionorwarnaboutdangerousconsequences,butit’susuallyamistakefortheapptotakedecisionmakingawayfromtheuser。Thebestappsfindthecorrectbalancebetweengivingpeoplethecapabilitiestheyneedwhilehelpingthemavoidunwantedoutcomes。
  Peopleexpecttohaveampleopportunitytocancelanoperationbeforeitbegins,andtheyexpecttogetachancetoconfirmtheirintentiontoperformapotentiallydestructiveaction。Finally,peopleexpecttobeabletogracefullystopanoperationthat’sunderway。
  UserControl用户控制感,app的行为应该受用户支配,而不是让app自己来决定。如果app尝试代替用户做决定,就很可能犯错。app应该提醒用户危险的行为和后果的同时又给用户充分的控制权。例如用户希望能在开始之前停止某个行为,在危险行为前能有确认,在任何时候都能终止一个进程。
  DefineYourApp
  Nowyoucancraftyourappdefinitionstatement,concretelysummarizingwhattheappdoesandforwhom。Agoodappdefinitionstatementforthisgroceryshoppingappmightbe:
  “Ashoppinglistcreationtoolforthriftypeoplewholovetocook。“
  你的app应该有一个清晰的定义,简单的说就是“为谁做什么?”,例如一个买日用品的app定义可能是“为精打细算有喜欢烹饪的人提供一个购物清单工具”
  Customization
  ThebestiOSappsbalanceUIcustomizationwithclarityofpurposeandeaseofuse。
  UI的特色一定要和易用与目的清晰平衡
  Beinternallyconsistent。ThemorecustomyourUIis,themoreimportantitisfortheappearanceandbehaviorofyourcustomelementstobeconsistentwithinyourapp。Ifuserstakethetimetolearnhowtousetheunfamiliarcontrolsyoucreate,theyexpecttobeabletorelyonthatknowledgethroughoutyourapp。
  你的UI越是有特色,你就越要使其在内部具有一致性,因为用户在你这里学会了一个特色的操作,他们会希望能把这个经验尽可能多地在你的app里用到,不然就白学了,而且会觉得app难用。
  NavigationBar
  Iftitlinganavigationbarseemsredundant,youcanleavethetitleempty。Forexample,Notesdoesn’ttitlethecurrentnotebecausethefirstlineofcontentsuppliesallthecontextusersneed。
  导航栏的标题是可以不显示的,例如note就没有标题,因为第一行的内容已经显示用户所需的信息。
  Considerputtingasegmentedcontrolinanavigationbaratthetoplevelofanapp。Thisisespeciallyusefulifdoingsohelpstoflattenyourinformationhierarchy,makingiteasierforpeopletofindwhatthey’relookingfor。Ifyouuseasegmentedcontrolinanavigationbar,besuretochooseaccuratebackbuttontitles。
  在首次导航使用SegmentedControl(标签选择)可以使信息导航更加扁平。
  Useanavigationbartoenablenavigationamongdifferentviewsandifappropriatetoprovideacontrolthatmanagestheitemsinaview。Ifyouneedtoprovidealargersetofcontrolsandyoudon’tneedtoenablenavigation,considerusingatoolbarinstead
  Toolbar(工具栏)同样可以用于导航,当页面需要复杂的导航,NavigationBar(导航栏)就显得容量不够,这时需要用Toolbar作为导航。
  Toolbar
  Considerusingasegmentedcontroltoprovideaccesstodifferentperspectivesormodesinthecurrentcontext。It’snotagoodideatouseasegmentedcontrolinatoolbartoshowappleveltasksormodes,becauseatoolbarisspecifictothecurrentscreenorview。Ifyouneedtogivepeopleaccesstoprimarytasks,views,ormodesinyourapp,useatabbarinstead。
  segmentedcontrol不能放在toolbar里,因为会与tabbar混淆。tabbar用于整个app的首级导航,而segmentcontrol更多是当前页面、任务、视图的导航,多为二级导航。
  Useiconsifyouneedtoputmorethanthreeitemsinatoolbar。Becausetexttitledbuttonstypicallyusemorespacethanicons,itcanbedifficulttokeepthetitlesfromrunningtogether。
  toolbar最多放3个文字按钮,多于3个请使用图标代替。文字按钮太密会彼此分不清。
  3KindsofPopover
  1。Providesoptionsthataffectthemainview,butdoesn’timplementaninspector
  Closethepopoverassoonaspeoplemakeachoiceorwhentheytapanywhereoutsideitsbounds,includingthecontrolthatrevealsthepopover。
  2。Implementsaninspector
  Closethepopoverwhenpeopletapanywhereoutsideitsbounds,includingthecontrolthatrevealsthepopover。
  Inthisscenario,don’tclosethepopoverassoonaspeoplemakeachoice,becausetheymightwanttomakeanadditionalchoiceorchangetheattributesofthecurrentchoice。
  3。Enablesatask
  Closethepopoverwhenpeoplecompleteorcancelthetaskbytappingabuttoninthepopover,suchasDoneorCancel。
  Inthisscenario,youmaynotwanttoclosethepopoverwhenpeopletapoutsideitsborders,becauseitmightbeimportantthatpeoplefinishorexplicitlyabandonthetask。Otherwise,savepeople’sinputwhentheytapoutsideapopover’sborders,justasyouwouldiftheytappedDone。
  Ingeneral,saveusers’workwhentheytapoutsideapopover’sborders。Noteverypopoverrequiresanexplicitdismissal,sopeoplemightdismissthemmistakenly。DiscardtheworkpeopledoinapopoveronlyiftheytapaCancelbutton。
  Popover(气泡弹窗)的三种情况
  当弹窗的操作结果在弹窗以内显示,弹窗里做出选择后立即关闭弹窗
  当弹窗的操作结果在弹窗以外显示,弹窗里做出选择后不立即关闭弹窗,供用户再次选择。
  当弹窗是在完成独立的任务,只有当完成任务才关闭弹窗
  点击弹窗以外的地方等同于关闭弹窗,但如果弹窗是完成独立任务,点击弹窗以外地方可以不关闭弹窗或者关闭但保存用户数据,因为用户有可能是意外点击。
  Becautiousifyouchangeapopover’ssizewhileitremainsvisible。Youmightwanttochangeapopover’ssizeifyouuseittodisplaybothaminimalandanexpandedviewofthesameinformation。Whenyouadjustthesizeofavisiblepopover,it’susuallyagoodideatoanimatethechangebecauseitavoidsgivingtheimpressionthatanewpopoverhasreplacedtheoldone。
  当弹窗的大小要改变时,最好使用动画,否则用户可能会以为出现了一个新的弹窗。
  ScollView
  Ingeneral,displayonlyonescrollviewatatime。Peopleoftenmakelargeswipegestureswhentheyscroll,soitcanbedifficultforthemtoavoidinteractingwithaneighboringscrollviewonthesamescreen。Ifyoudecidetoputtwoscrollviewsononescreen,considerallowingthemtoscrollindifferentdirectionssothatonegestureislesslikelytoscrollbothviews。Forexample,StocksinportraitorientationoniPhonedisplaysstockquotesinaverticallyscrollingviewabovecompanyspecificinformation,whichisinahorizontallyscrollingview。
  最好只显示一个滚动视图,因为用户操作滚动视图使动作一般较大,很容易两个视图都一带操作。如果一定要显示两个滚动视图,就使用不同的滚动方向。
  SplitView
  Avoiddisplayinganavigationbarinbothpanesatthesametime。Doingthiswouldmakeitverydifficultforuserstodiscerntherelationshipbetweenthetwopanes。
  在SplitView时避免两个视图都出现navigationbar,则会使两个视图的关系变得不明显。
  Givepeoplealternativewaystoaccesstheprimarypane,ifappropriate。Bydefault,onlythesecondarypaneisdisplayedinahorizontallycompactenvironmentandyouprovideuserswithabutton(typicallylocatedinanavigationbar)torevealandhidetheprimarypane。Thesplitviewcontrolleralsosupportstheswipegesturetoperformtherevealhideaction。Unlessyourappusestheswipegesturetoperformotherfunctions,youshouldletpeopleswipetoaccesstheprimarypane。
  Horizontallycompactenvironment(狭小横屏)时,主窗格是隐藏的。可用左上角的按钮或是滑动手势调出。
  Inbothstyles,atablerowbecomeshighlightedbrieflywhenausertapsaselectableitem。Ifarowselectionresultsinnavigationtoanewscreen,theselectedrowbecomeshighlightedbrieflyasthenewscreenslidesintoplace。Whentheusernavigatesbacktothepreviousscreen,theoriginallyselectedrowagainbecomeshighlightedbrieflytoremindtheuseroftheearlierselection(itdoesn’tremainhighlighted)。
  点击列表的一项时,该项被点亮,直至新的一屏出现;但用户退回到以前那屏列表时,原来选择的那一项同样要点亮一次(暂时点亮),告诉用户他进来时的路径。
  Iftablecontentisextensiveorcomplex,avoidwaitinguntilallthedataisavailablebeforedisplayinganything。Instead,filltheonscreenrowswithtextualdataimmediatelyanddisplaymorecomplexdatasuchasimagesastheybecomeavailable。Thistechniquegivesusersusefulinformationrightawayandincreasestheperceivedresponsivenessofyourapp。
  如果列表视图包含很多图片或复杂的内容,在用户刚进入时,可以只显示文字,稍后再显示其他内容,让用户能最快地得到想要的信息。
  Considerdisplaying“stale”datawhilewaitingfornewdatatoarrive。Althoughthistechniqueisn’trecommendedforappsthathandlefrequentlychangingdata,itcanhelpmorestaticappsgiveuserssomethingusefulrightaway。Beforeyoudecidetodothis,gaugehowoftenthedatachangesandhowmuchusersdependonseeingfreshdataquickly。
  如果你的列表内容的新鲜程度对用户不是很重要,可以在用户刚进入时先显示老内容,稍后再更新。
  DatePicker
  Asmuchaspossible,displayadatepickerinlinewiththecontent。It’sbestwhenuserscanavoidnavigatingtoadifferentviewtouseadatepicker。Inahorizontallyregularenvironment,adatepickercanappearwithinapopoverorinlinewithcontent。
  DatePicker日期选择器最好是inline(与其他内容并列)的,不用再模态显示。
  PageControl
  Useapagecontrolwhenit’smoreimportanttoshowusershowmanyviewsareopenthanitistohelpthemchooseaspecificview。
  PageControl(页面指示器)的作用是指示有多少项目可以显示,但项目数目比快速选择某一项更重要时,就用PageC反之用列表。
  Picker
  Ingeneral,useapickerwhenusersarefamiliarwiththeentiresetofvalues。Becausemanyofthevaluesarehiddenwhenthewheelisstationary,it’sbestwhenuserscanpredictwhatthevaluesare。Ifyouneedtoprovidealargesetofchoicesthataren’twellknowntoyourusers,apickermightnotbetheappropriatecontrol。
  Considerusingatableview,insteadofapicker,ifyouneedtodisplayaverylargenumberofvalues。Thisisbecausethegreaterheightofatableviewmakesscrollingfaster。
  与PageControl相似,Picker(选择器)不能显示全部的选项,所以只有当用户很清楚全部选项是什么或者只有很少的选项时,才用Picker。否则用列表。
  Steper
  Useastepperwhenusersmightneedtomakesmalladjustmentstoavalue。
  用户需要对某一项作细微调整时,用Stepper。
  Button
  Useaverborverbphrasetodescribetheactionthebuttonperforms。Anactionspecifictitleshowsusersthatthebuttonisinteractiveandtellsthemwhatwillhappenwhentheytapit。
  按钮的文字应使用动词,表明可交互性。
  Alert
  Asksforconfirmationofuserinitiatedtasks,donotuseAlert,useActionSheetinstead。
  需要用户确认时,不要使用Alert(警告),而应使用ActionSheet(选项表单)。
  Titlestylecapitalizationmeansthateverywordiscapitalized,exceptarticles,coordinatingconjunctions,andprepositionsoffourorfewerletterswhentheyaren’tthefirstword。
  Sentencestylecapitalizationmeansthatthefirstwordiscapitalized,andtherestofthewordsarelowercaseunlesstheyarepropernounsorproperadjectives。
  Alert的Title要使用Titlestylecapitalization,即把每个单词首字母大写,除了四个字母以下的介词以外。
  Avoidsoundingaccusatoryorjudgmentalwhenyouneedtodelivernegativenews。Peopleunderstandthatmanyalertstellthemaboutproblemsorwarnthemaboutdangeroussituations。Aslongasyouuseafriendlytone,it’sbettertobenegativeanddirectthanitistobepositivebutoblique。
  警告中的措辞避免带有指责和挑剔的意思。用户明白警告是表达负面意思的,所以警告时明确的负面意思比不清不楚的正面信息要好。
  Asmuchaspossible,avoid“you,”“your,”“me,”and“my。”Sometimes,textthatidentifiespeopledirectlycanbeambiguousandcanevenbeinterpretedasinsultingorpatronizing。
  避免使用“你”“我”这样的指向性词语,这使人觉得带有讽刺性和自以为是。
  Placebuttonsappropriately。Ideally,thebuttonthat’smostnaturaltotapshouldmeettwocriteria:Itshouldperformtheactionthatusersaremostlikelytowantanditshouldbetheleastlikelytocauseproblemsifausertapsitinadvertently。Specifically:
  Whenthemostlikelybuttonperformsanondestructiveaction,itshouldbeontherightinatwobuttonalert。Thebuttonthatcancelsthisactionshouldbeontheleft。
  Whenthemostlikelybuttonperformsadestructiveaction,itshouldbeontheleftinatwobuttonalert。Thebuttonthatcancelsthisactionshouldbeontheright。
  警告中的按钮排布应该使用户既能顺手地点击最可能点的按钮,也能避免错误点击。例如如果警告里的操作是不具有破环性的,则应该放在右手边方便点击;但如果具有破环性,则放在左手边防止误操作。
  PressingtheHomebuttonwhileanalertisvisibleshouldquittheapp,asexpected。DoingsoshouldalsobeidenticaltotappingtheCancelbuttonthatis,thealertisdismissedandtheactionisn’tperformed。
  在警告状态下按home键应该等同于取消警告。
  ActionSheet
  Useanactionsheetto:
  Providealternativewaystocompleteatask。Anactionsheetletsyoutoprovidearangeofchoicesthatmakesenseinthecontextofthecurrenttask,withoutgivingthesechoicesapermanentplaceintheUI。
  Getconfirmationbeforecompletingapotentiallydangeroustask。Anactionsheetpromptsuserstothinkaboutthepotentiallydangerouseffectsofthestepthey’reabouttotakeandgivesthemsomealternatives。
  ActionSheet(选项表单)用于展示当前任务下的其他选择,只有执行一项任务时才出现,不用占据屏幕空间;另外,还用于破环性任务之前的确认。
  ModelView
  Useamodalviewwhenyouneedtooffertheabilitytoaccomplishaselfcontainedtaskrelatedtoyourapp’sprimaryfunction。AmodalviewisespeciallyappropriateforamultistepsubtaskthatrequiresUIelementsthatdon’tbelonginthemainappUIallthetime。
  模态的作用是完成一个相对完整的次级任务,尤其适合于一些不宜长期占据屏幕的次级任务。
  TransitionStyleofModelView
  Vertical。Intheverticalstyle,themodalviewslidesupfromthebottomedgeofthescreenandslidesbackdownwhendismissed(thisisthedefaulttransitionstyle)。
  Flip。Intheflipstyle,thecurrentviewflipshorizontallyfromrighttolefttorevealthemodalview。Visually,themodalviewlooksasifitisthebackofthecurrentview。Whenthemodalviewisdismissed,itflipshorizontallyfromlefttoright,revealingthepreviousview。
  模态的出现方式:1。由下至上出现,由上至下消失;2。翻转背后出现
  AppIcon
  Createanabstractinterpretationofyourapp’smainidea。Itrarelyworkswelltouseaphotoorscreenshotinanappiconbecausephotographicdetailscanbeveryhardtoseeatsmallsizes。Typically,it’sbettertointerpretrealityinanartisticway,becausedoingsoletsyouemphasizetheaspectsofthesubjectthatyouwantuserstonotice。
  Icon不宜食用具象的图像,因为缩小时具象的图就会变得模糊。抽象的图像能保证清晰度,而且可以强调你想表达的方面的信息。
  Ifthebackgroundofyouriconiswhite,don’taddagrayoverlayinanefforttoincreaseitsvisibilityinSettings。iOSaddsa1pixelborderstrokesothatalliconslookgoodonthewhitebackgroundofSettings。
  白色底的icon系统会自动添加灰色边。
  BarButtonIcon
  Toensurethatalliconshaveaconsistentperceivedsize,youmayhavetocreatesomeiconsatdifferentactualsizes。Forexample,thesetofsystemprovidediconsshownhereallhavethesameperceivedsize,eventhoughtheFavoritesandVoicemailiconsareactuallyabitlargerthantheotherthreeicons。
  任务栏icon有时需要使用不同的实际大小使它们看起来是一样大的。
  Reference:
  iOSHumanInterfaceGuidelines
  https:developer。apple。comlibraryiosdocumentationUserExperienceConceptualMobileHIG
投诉 评论 转载

设计规范如何写?这20个精选案例让你大开眼界如下为规范汇总页,里面囊括了许多大家熟知品牌的规范。1。BrandStyleGuideExamples从中大致可以总结出规范的分类:品牌类(VI)一般以产品宣……超实用的格式塔原理小科普在界面排版,网页广告设计等视觉传达设计工作中,视觉上的画面琐碎,零散,信息混乱无序总是视觉设计师无可避免的问题。视觉的整体感做不好,会给人不舒服,不协调的心理感受。这些问……微信公众号里八大不能忍受的用户体验首先要说这里写的“微信公众号”不是指微信的公众号服务,而是指企业申请公众号以后企业在公众号里提供服务。说到这点不得不说到国内的手机端web网页的迅猛发展(主要采用HTML……【译文】移动应用界面设计7宗罪本文是移动原型工具Proto。io的设计团队8月份在自家博客上发表的一篇“软文”,通过与移动设计界大牛们的对话,帮助大家了解在进行移动设计时应该特别注意的禁忌,顺便推了一下Pr……交互译文如何合理的在移动应用中使用动效本文是我在SmashingMagazine看到的一篇关于如何在移动应用设计中运用微动效的译文。初次翻译文章,很多词句用的可能不太妥当,在这里给大家作揖了!knockknock……近一年来做的动效设计整理最近离职了,空暇之余正好对之前一年多的工作内容进行个总结回顾。主要分两块,一是负责公司App和游戏在AppStore及GooglePlay商店的视频创意设计和制作,可参见……iOS9人机界面指南(一):UI设计基础译者注:本文译自苹果官方人机界面指南iOSHumanInterfaceGuidelines(2015年10月21日),由腾讯ISUX设计师翻译整理,非发文者一人之作。1。……为什么你越来越爱用那些看起来丑而贱的表情?好奇心研究所的微博(好奇心研究所)和微信公众号(ID:QLab42)全面上线啦,微信直接搜索好奇心研究所就可以订阅,关注与所长亲密接触,赶紧的。为什么我爱用贱贱的表情:……通过设计简化学习过程这可没有听起来那么简单。坦白说,人们往往不会偏离道路去学习一些新东西。研究显示,在美国只有3的成年人会在一天中花时间学习。细想一会儿:尽管我们指尖轻按就能触达所有信息,所……别让这五种错误毁了你的交互设计交互设计从来不易。它需要对用户行为进行深入分析的同时,还要进行细致的计划。尽管新的交互设计不断出现,但并未使它变得更容易一些。如何才能创建令用户满意的使用体验?如果你对交互设计……我对QQ音乐的体验:关于探索音乐的故事。作为一名两年的QQ音乐app用户,当初我使用它的原因在于精美的界面设计和众多高质量的音乐资源。而现在,我每天都有听歌的习惯,这个我常用的软件也成为了不能缺少的部分。我接下来从探……iOS8HumanInterfaceGuidelines精选用了两个星期时间断断续续读完iOS的guidelines英文原版,原文是写得有点啰嗦,所以精选了以下觉得比较重要的点,并加以自己的解释;当然如果你有时间,还是推荐阅读英文原文。……
苏宁与弘毅接盘PPTV:机构投资者得以套现阿里巴巴收购酷盘云存储领域与百度展开竞争黑莓公司找到买家:或总价47亿美元卖身借壳上市要考虑6个问题?卖完微博卖视频阿里正一步步吞并新浪?微软71。7亿美元高价收购诺基亚手机业务阿里曾经报价22亿美元91不卖:为啥91不独立上市?《2013年Q2中国互联网创业融资分析报告》融资并购美即被欧莱雅收购之后,下一站凋零?暴风影音确认创业板上市申请:经纬中国和IDG美元投资退出百度116吨现金买未来360洽购搜狗对赌未来中国互联网将迎有史以来最大并购案:百度拟全资收购91无线
脂肪粒怎么去除小窍门(脸上的脂肪粒怎么处理?)传承孔孟文化放飞圣城梦想征文(最新)我20年后某一天的日记高效技巧几个相关文件操作的快捷键华为与河南省政府签署全面深化战略合作协议一次有趣的体验关于责任与担当的名言警句SDR时代的中国债市爱护祖国FF91量产有戏了?法拉第任命新全球CEO居然不是贾跃亭今晚餐厅聚会作文早行

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界