12 2011 档案

摘要:表格视图用法和行为在极少数情况下,当与该行中的项相关的附加详细信息或控件显示在同一屏上时,该行可能会继续高亮显示。但是,并不鼓励这样做,因为要在屏幕上同时显示选项列表,被选中的项和相关的详细信息或控件,很容易造成布局拥挤,令用户感到不适。如果选中某一行的结果是导航到新的屏幕上,那么被选中的行会在新的屏幕滑动到相应位置之前高亮显示。当用户返回到先前的屏幕时,原来被选中的行会再次高亮显示一下,提示用户他们之前的选择。表格视图应该立即显示其内容。如果表格的内容繁多或者十分复杂,请不要一直等到所有的数据都可用时才显示它们。相反,应该立即使用文本数据填充屏幕上可见的行,当更复杂的数据(比如图像)可用时再 阅读全文
posted @ 2011-12-31 01:38 Piosa 阅读(789) 评论(0) 推荐(0)
摘要:ABAddressBookRef addressBook = ABAddressBookCreate(); CFArrayRef results = ABAddressBookCopyArrayOfAllPeople(addressBook); for(int i = 0; i < CFArrayGetCount(results); i++) { ABRecordRef person = CFArrayGetValueAtIndex(results, i); //读取firstname NSString *personName... 阅读全文
posted @ 2011-12-30 17:48 Piosa 阅读(450) 评论(0) 推荐(0)
摘要:警告,动作表单和模式视图都是模式的,这意味着用户必须通过点击按钮显式地关闭它们,然后才可以继续使用应用程序。警告为用户提供影响他们使用应用程序(或设备)的重要信息。警告通常是不可预料的,因为它们一般会向用户报告某个问题或当前环境的变化,这可能需要用户采取相应的行动。动作表单为用户提供与他们当前执行的动作相关的额外选项。当用户点击一个工具栏按钮,开始执行一个具有潜在破坏性的动作(比如删除所有最近的通话)或是一个可以以不同的方式完成的动作(比如用户可以从多个目的地中指定其中一个作为发送动作的目的地)时,他们会期待动作表单的出现。模式视图能够在当前任务的环境下提供更广泛的功能。对于那些与用户的工作流 阅读全文
posted @ 2011-12-17 00:49 Piosa 阅读(317) 评论(0) 推荐(0)
摘要:状态栏虽然您难以控制状态栏的内容,但是您可以定制它的外观,并在一定程度上定制它的行为。具体来说,您可以:设定网络活动指示器是否应该可见。如果您的应用程序正在执行的一项网络操作会持续几秒钟以上,则应该显示网络活动指示器。如果该网络操作将在几秒钟之内完成,则不必显示网络活动指示器,因为它很可能在用户意识到它的存在之前便消失了。(在您的代码中,您可以使用UIApplication的方法networkActivityIndicatorVisible来控制指示器的可见性。)指定状态栏的颜色。您可以选择灰色(默认的颜色),不透明的黑色或半透明的黑色(也就是α值为0.5的黑色)。图6-2显示了这些样式。(请 阅读全文
posted @ 2011-12-16 23:47 Piosa 阅读(6751) 评论(0) 推荐(0)
摘要:视图是提供了良好定义的功能集合的内容区域。控件则是能够触发即时动作或可视化结果的图形对象无论是什么类型的应用程序,都有一个应用程序窗口,该窗口为您提供了一个能够呈现应用程序的所有信息的背景。但是用户对这个窗口没有概念,他们对应用程序的体验来自屏幕上的画面,并且用户通过屏幕对应用程序进行操作。通常,用户会把应用程序屏幕和设备屏幕当成是一回事。然而,应用程序屏幕的内容可能会超出设备屏幕的边界,这就需要用户滚动屏幕。 阅读全文
posted @ 2011-12-16 22:19 Piosa 阅读(309) 评论(0) 推荐(0)
摘要:启动仅横向显示的应用程序应该支持两种“横向”—不论“主页”按钮在屏幕右侧还是左侧,都能够正常显示应用程序。如果设备本身已经被横向放置,则这种仅横向显示的应用程序就按照设备的方向启动。否则,在默认情况下,仅横向显示的应用程序在启动时,“主页”按钮只能在应用程序的右方。停止应用程序的终止不需要用户点击应用程序关闭按钮或在菜单上选择“退出”操作。随时准备接收退出或终止通知。因此,要尽可能快并且在合理情况下经常保存用户数据。当应用程序终止时,尽可能详细地保存它的当前状态。例如,如果您的应用程序能够显示滚动的数据,则应该保存当前的滚动位置。iPhone应用程序不应该直接通过代码退出,因为这样做会使用户觉 阅读全文
posted @ 2011-12-15 02:09 Piosa 阅读(235) 评论(0) 推荐(0)
摘要:UISearchDisplayController UISearchBar 阅读全文
posted @ 2011-12-15 02:09 Piosa 阅读(128) 评论(0) 推荐(0)
摘要:给出产品定义说明优秀iPhone应用程序的共性简单和易用性当您设计应用程序流程以及用户界面时,请遵循如下准则以保证应用程序的简单且易于使用:如何使用您的应用程序应显而易见。常见的功能和信息集中于屏幕的顶部。(由上而下的布局)您在设计应用程序的用户界面时,应将最常使用的(通常也是重要的)信息置于最明显且最方便的顶部。当用户从屏幕顶部浏览到底部的时候,呈现的信息的过程应该是由一般到特殊,从高级到低级的过程。最大限度地减少文本输入。当您向用户请求输入时,考虑使用表格视图(或选择器)来代替文本输入框。对用户来说,从一个列表中选择一项通常比输入单词容易得多。简洁地表达基本信息。为所有可点击元素提供一个指 阅读全文
posted @ 2011-12-11 23:21 Piosa 阅读(244) 评论(0) 推荐(0)
摘要:隐喻直观操作为了提高您的iPhone应用程序的操控感,您应确保:当用户操作屏幕上的对象时,这些对象保持可见用户操作的结果是一目了然的即看即点反馈用户控制在操作开始前应提供充分的取消操作的机会,并且确保在用户触发潜在的破坏性操作时取得操作确认。尽可能使用户能够正常终止正在进行的操作。美学完整性 阅读全文
posted @ 2011-12-11 22:50 Piosa 阅读(227) 评论(0) 推荐(0)
摘要:拥挤的用户界面将降低程序的吸引力并会提高使用的难度。确保您的应用程序对于内存使用警告作出回应,并及时清理内存。在您设计应用程序时,可以通过避免内存泄漏,减小资源文件大小以及延迟加载资源的方式,尽力地降低程序的内存占用iPhone应用程序可以包含必要数量的不同窗口,但是用户不能同时访问,只能顺序访问和查看。保证用户享有良好的程序切换体验的最有效方法就是将您的应用程序的启动时间降到最低不要期望用户显式地从菜单中选择退出或是点击关闭按钮。这意味着您的程序可能在没有太多通知的情况下退出,由此您应尽可能迅速地保存用户所做的修改。满足用户的期望并使您的应用程序用法清晰明确是十分关键的。您可以采取如下措施: 阅读全文
posted @ 2011-12-11 22:38 Piosa 阅读(193) 评论(0) 推荐(0)
摘要:今天在用UIButton的+ (id)buttonWithType:(UIButtonType)buttonType方法创建了一个UIButton实例后,一不小心release掉了。结果在IOS4模拟器下就会报内存错误,在IOS5模拟器下就不会报错妈的调试了好久,才看到的说..... 阅读全文
posted @ 2011-12-06 11:45 Piosa 阅读(300) 评论(0) 推荐(0)
摘要:在ios5之前的系统中,可以通过定义导航条类别的方式自定义导航条:@implementation UINavigationBar (CustomImage)- (void)drawRect:(CGRect)rect { // Drawing code UIImage *image = [[UIImage imageNamed:@"header.png"] retain]; [image drawInRect:CGRectMake(0, 0,self.frame.size.width , self.frame.size.height)]; [image release];.. 阅读全文
posted @ 2011-12-03 15:08 Piosa 阅读(240) 评论(0) 推荐(0)
摘要:注意:图标和图像的标准比特深度是24位(其中,红色,绿色和蓝色各占8比特),外加8位的alpha通道。建议您使用PNG格式,因为它保留了颜色深度,并且内置支持ɑ通道。您可以使用预览应用程序产生最终的PNG文件。您无须将颜色限定在Web安全色内。虽然您可以在为导航栏,工具栏和标签栏创建的图标中使用alpha透明度,但不要在应用程序图标中这么做。应用程序图标当用户决定在主屏幕上显示您的应用程序图标时,iPhone OS会自动为其添加一些视觉效果,以便该图标与内置图标保持一致。具体包括:圆角阴影反光如果您创建的图标具有黑色背景,当显示在主屏幕上时,它的背景会消失,用户就无法看到它的圆角效果。这样的图 阅读全文
posted @ 2011-12-03 10:10 Piosa 阅读(315) 评论(0) 推荐(0)