摘要: 用于工具栏和导航栏的标准按钮分别用于下列不同情况:边框样式—例如,电话联系人应用程序导航栏中的“添加”按钮。这种样式对于导航栏和工具栏都适用。无格式样式—例如,邮件应用程序工具栏中的“撰写”按钮。这种样式只适用于工具栏。事实上,即使您指定一个导航栏中的按钮为无格式样式,它也会被转换为边框样式。您也可以使用表10-2中由系统提供的“编辑”,“取消”,“保存”和“完成”按钮,以支持编辑或其他类型的内容操作。(有关这些按钮的符号名称和可用性的信息请参考介绍UIBarButtonSystemItem的文档。)这些按钮对于导航栏和工具栏都适用,但只能以有边框样式提供给用户。如果您使用上述按钮,即使您将其 阅读全文
posted @ 2012-01-02 16:09 Piosa 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 活动指示器当任务或进程已经完成时,活动指示器就会消失。推荐您使用这种默认行为,因为用户期望在有动作发生时看到活动指示器,而且他们会将静止不动的活动指示器与停滞的进程联想到一起。要了解如何显示网络活动指示器,请参考UIApplication类参考中的networkActivityIndicatorVisible方法。要了解如何在您的代码中显示一个较大的非网络活动指示器,请参考UIActivityIndicatorView类参考。日期时间选择器不管如何设置,日期时间选择器的整体大小是固定的,与键盘的尺寸相同。您可以选择将日期时间选择器设为视图中的焦点元素,或者让它只在需要时出现。详细信息展开按钮信 阅读全文
posted @ 2012-01-01 21:46 Piosa 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 表格视图用法和行为在极少数情况下,当与该行中的项相关的附加详细信息或控件显示在同一屏上时,该行可能会继续高亮显示。但是,并不鼓励这样做,因为要在屏幕上同时显示选项列表,被选中的项和相关的详细信息或控件,很容易造成布局拥挤,令用户感到不适。如果选中某一行的结果是导航到新的屏幕上,那么被选中的行会在新的屏幕滑动到相应位置之前高亮显示。当用户返回到先前的屏幕时,原来被选中的行会再次高亮显示一下,提示用户他们之前的选择。表格视图应该立即显示其内容。如果表格的内容繁多或者十分复杂,请不要一直等到所有的数据都可用时才显示它们。相反,应该立即使用文本数据填充屏幕上可见的行,当更复杂的数据(比如图像)可用时再 阅读全文
posted @ 2011-12-31 01:38 Piosa 阅读(765) 评论(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 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 警告,动作表单和模式视图都是模式的,这意味着用户必须通过点击按钮显式地关闭它们,然后才可以继续使用应用程序。警告为用户提供影响他们使用应用程序(或设备)的重要信息。警告通常是不可预料的,因为它们一般会向用户报告某个问题或当前环境的变化,这可能需要用户采取相应的行动。动作表单为用户提供与他们当前执行的动作相关的额外选项。当用户点击一个工具栏按钮,开始执行一个具有潜在破坏性的动作(比如删除所有最近的通话)或是一个可以以不同的方式完成的动作(比如用户可以从多个目的地中指定其中一个作为发送动作的目的地)时,他们会期待动作表单的出现。模式视图能够在当前任务的环境下提供更广泛的功能。对于那些与用户的工作流 阅读全文
posted @ 2011-12-17 00:49 Piosa 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 状态栏虽然您难以控制状态栏的内容,但是您可以定制它的外观,并在一定程度上定制它的行为。具体来说,您可以:设定网络活动指示器是否应该可见。如果您的应用程序正在执行的一项网络操作会持续几秒钟以上,则应该显示网络活动指示器。如果该网络操作将在几秒钟之内完成,则不必显示网络活动指示器,因为它很可能在用户意识到它的存在之前便消失了。(在您的代码中,您可以使用UIApplication的方法networkActivityIndicatorVisible来控制指示器的可见性。)指定状态栏的颜色。您可以选择灰色(默认的颜色),不透明的黑色或半透明的黑色(也就是α值为0.5的黑色)。图6-2显示了这些样式。(请 阅读全文
posted @ 2011-12-16 23:47 Piosa 阅读(6710) 评论(0) 推荐(0) 编辑
摘要: 视图是提供了良好定义的功能集合的内容区域。控件则是能够触发即时动作或可视化结果的图形对象无论是什么类型的应用程序,都有一个应用程序窗口,该窗口为您提供了一个能够呈现应用程序的所有信息的背景。但是用户对这个窗口没有概念,他们对应用程序的体验来自屏幕上的画面,并且用户通过屏幕对应用程序进行操作。通常,用户会把应用程序屏幕和设备屏幕当成是一回事。然而,应用程序屏幕的内容可能会超出设备屏幕的边界,这就需要用户滚动屏幕。 阅读全文
posted @ 2011-12-16 22:19 Piosa 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 启动仅横向显示的应用程序应该支持两种“横向”—不论“主页”按钮在屏幕右侧还是左侧,都能够正常显示应用程序。如果设备本身已经被横向放置,则这种仅横向显示的应用程序就按照设备的方向启动。否则,在默认情况下,仅横向显示的应用程序在启动时,“主页”按钮只能在应用程序的右方。停止应用程序的终止不需要用户点击应用程序关闭按钮或在菜单上选择“退出”操作。随时准备接收退出或终止通知。因此,要尽可能快并且在合理情况下经常保存用户数据。当应用程序终止时,尽可能详细地保存它的当前状态。例如,如果您的应用程序能够显示滚动的数据,则应该保存当前的滚动位置。iPhone应用程序不应该直接通过代码退出,因为这样做会使用户觉 阅读全文
posted @ 2011-12-15 02:09 Piosa 阅读(220) 评论(0) 推荐(0) 编辑
摘要: UISearchDisplayController UISearchBar 阅读全文
posted @ 2011-12-15 02:09 Piosa 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 给出产品定义说明优秀iPhone应用程序的共性简单和易用性当您设计应用程序流程以及用户界面时,请遵循如下准则以保证应用程序的简单且易于使用:如何使用您的应用程序应显而易见。常见的功能和信息集中于屏幕的顶部。(由上而下的布局)您在设计应用程序的用户界面时,应将最常使用的(通常也是重要的)信息置于最明显且最方便的顶部。当用户从屏幕顶部浏览到底部的时候,呈现的信息的过程应该是由一般到特殊,从高级到低级的过程。最大限度地减少文本输入。当您向用户请求输入时,考虑使用表格视图(或选择器)来代替文本输入框。对用户来说,从一个列表中选择一项通常比输入单词容易得多。简洁地表达基本信息。为所有可点击元素提供一个指 阅读全文
posted @ 2011-12-11 23:21 Piosa 阅读(240) 评论(0) 推荐(0) 编辑