应用程序控件

活动指示器

当任务或进程已经完成时,活动指示器就会消失。推荐您使用这种默认行为,因为用户期望在有动作发生时看到活动指示器,而且他们会将静止不动的活动指示器与停滞的进程联想到一起。

要了解如何显示网络活动指示器,请参考UIApplication类参考中的networkActivityIndicatorVisible方法。要了解如何在您的代码中显示一个较大的非网络活动指示器,请参考UIActivityIndicatorView类参考

 

日期时间选择器

不管如何设置,日期时间选择器的整体大小是固定的,与键盘的尺寸相同。您可以选择将日期时间选择器设为视图中的焦点元素,或者让它只在需要时出现。


详细信息展开按钮


信息按钮

信息按钮提供了一种显示应用程序配置信息详情的方法,它通常位于屏幕的背面。因此,信息按钮特别适合于工具应用程序。


标签


页指示符

页指示符为当前在应用程序中打开的每一个视图显示一个小圆点。这些小圆点从左到右的顺序表示了视图被打开的顺序(最左边的小圆点代表第一个视图)。对于当前屏幕上显示的视图,用发光的小圆点加以表示。用户点击发光小圆点的左右两侧可以查看上一个或下一个打开的视图。

页指示符为用户提供了一种快捷的方法来查看当前有多少打开的视图,同时也能表示出这些视图被打开的先后顺序;它并不能帮助用户追踪他们在视图层次中所处的位置。因为实用型应用程序中的视图彼此之间往往是对等的,所以页指示符能够充分帮助用户在各视图之间进行导航。另一方面,能够显示层次信息的效率型应用程序应该通过导航栏(请参考“导航栏”获取更多信息)上的元素提供导航信息。

典型情况下,页指示符最好出现在应用程序屏幕的下边缘,位于它所包含的视图的下方。这样就可以把屏幕的上面部分留给更重要的信息(视图本身),使用户很容易看到。一定要确保页指示符垂直居中于视图的下边缘和屏幕的下边缘之间。

虽然对于在页指示符中可以显示的小圆点的数量没有规划性的限制,但是当页面越来越多时,指示点之间不能过于密集。例如,当设备处于纵向时,您只能在一个页指示符上显示至多20个小圆点。因此,您应该在应用程序中避免发生这种情况。

虽然您可以在只有一个打开的视图时隐藏页指示符,但默认的行为是显示它。

要了解有关在您的代码中使用页指示符的更多内容,请参考UIPageControl类参考

 

选择器

当您决定是否在应用程序中使用选择器时,要考虑到当转轮静止时,轮上的许多甚至绝大多数数值对用户来说是隐藏的。但这不一定是个问题,特别是在用户已知这些值是多少的情况下。例如,在日期时间选择器中,用户了解在月份轮上隐藏的值只能是1到12之间的数字。然而,如果您要提供的选项不是像这样的一组众所周知的值,那么使用选择器控件可能并不合适。

如果您需要显示特别多数量的值,则您应该用表格视图将这些值列出,而不是用选择器。这是因为表格视图具有更高的高度,能够更快速地进行滚动。

如果您需要为选择器中的值提供上下文信息,比如计量单位,请将它显示在水平地穿过控件中心的半透明选择栏中。不要在选择器上方或转轮本身上显示这样的标签。有关正确显示标签的例子,请参考内置的时钟应用程序的“定时器”功能,可以看到在用户选择的值旁边显示了单位“小时”和“分钟”。

 

与日期时间选择器一样,通用的选择器可以一直可见(作为您的用户界面的焦点)或者只在需要时出现。选择器的整体大小,包括它的背景,都是固定的,与键盘的尺寸相同。

 

进度视图

iPhone OS提供了两种样式的进度视图,分别是默认样式和栏样式。这两种样式的外观非常相似,区别在于高度不同:

  • 默认样式用于应用程序的主内容区。

  • 栏样式比默认样式薄一些,非常适合在工具栏中使用。例如,在邮件应用程序中,当用户下载新邮件或发送电子邮件时,工具栏上就会出现栏样式的进度视图。

两种样式进度视图的行为是相同的。

 

圆角矩形按钮


搜索栏

搜索栏是一片接收用户输入的文本的区域,您的应用程序可以以搜索栏中的文本为输入进行搜索。当用户点击搜索栏时,会出现一个键盘;当用户键入要搜索的条目后,输入的信息将按照应用程序指定的方式处理。

默认情况下,搜索图标显示在搜索栏的左侧。此外,搜索栏还可以显示一些可选的元素:

  • 占位符文本。该文本可以用来显示控件的功能(例如“搜索”),或者用来提醒用户他们所处的搜索环境(例如“YouTube”或“Google”)。

  • 书签按钮。该按钮可以提供信息的快捷方式,使得下一次用户也能够轻松地找到这些信息。例如,通过地图应用程序搜索模式中的书签按钮,用户可以访问已保存在书签的地点,最近的搜索和联系人。

  • 清除按钮。大多数搜索栏都包含一个“清除”按钮,允许用户通过点击该按钮清除搜索栏中的内容。

  • 一个可以被称作提示的描述性标题,位于搜索栏的上方。举例来说,这种提示可以是一个短语,为搜索栏提供简要介绍或应用程序特定的环境信息。

默认情况下,书签按钮和清除按钮会按下列方式对彼此产生影响:

  • 当搜索栏包含非占位符文本时,清除按钮是可见的,用户可以使用它来清除文本。如果搜索栏中不存在用户提供的文本或非占位符文本,清除按钮是隐藏的,因为没必要清除搜索栏的内容。

  • 只有当搜索栏中不存在用户提供的文本或非占位符文本时,书签按钮才是可见的。这是因为当搜索栏中存在用户可能想要清除的文本时,清除按钮是可见的。

您可以通过指定一种标准颜色的背景样式来自定义搜索栏,比如:

  • 蓝色(与工具栏和导航栏的默认外观一致的默认渐变颜色)。默认的背景样式如图9-10所示。

  • 黑色

此外,您可以在搜索栏的下方显示一个范围栏,其中包含一些按钮,用户可以点击这些按钮来选择搜索的范围。范围栏的外观与您所指定的搜索栏外观相同,并且由您为范围栏提供自定义的标题。

不论设备的方向如何,范围栏总是显示在搜索栏的下方,除非您在代码中使用搜索显示控制器(详细信息请参考UISearchDisplayController类参考)。当您使用搜索显示控制器时,范围栏会显示在搜索栏的内部,如果设备横向放置,则范围栏位于搜索字段的右侧(如果设备纵向放置,则范围栏位于搜索栏的下方)。

要了解更多有关在您的代码中使用搜索栏和范围栏的内容,请参考UISearchBar类参考

 

分段控件

分段控件的长度取决于您所显示的段的数量以及最长一段的尺寸。分段控件的高度是固定的。虽然您可以指定要显示的段的数目,但要注意,用户必须能够舒服地点击到任何一段,而无需担心触碰到相邻的段。由于点击区域应该是44 x 44像素,因此建议将分段控件分为5段或5段以下。

分段控件可以包含文本或图像;每一个单独的分段要么包含文本,要么包含图像,但不能同时包含两者。一般来说,最好避免在同一个分段控件中混合使用文本和图像。

分段控件要保证每一段的宽度与段的总数相称。这意味着您要确保为每一段设计的内容在尺寸上要大致相等。

 

滑块

滑块允许用户在允许的值的范围内对一个值或一个过程进行调整。当用户拖拉滑块时,相应的值或过程也不断被更新。

滑块主要在下面两种情况下很有用:

  • 当您希望用户能够对他们选择的值进行较高精度的控制时

  • 当您希望用户能够对当前的过程进行较高精度的控制时

滑块由轨道,滑块以及可选的左右两边值的图像组成。

您可以设定滑块的宽度,使其适合于您的应用程序的用户界面。此外,您可以选择水平地或垂直地显示滑块。

有以下几种方法自定义滑块:

  • 您可以定义滑块的外观,以便用户可以一眼辨认出滑块是否处于活动状态。

  • 您可以提供在滑块两端出现的图像(通常,它们分别对应最小值和最大值),以此帮助用户理解滑块的作用。

    例如,控制字体大小的滑块可以在最小值一端显示一个非常小的字符,而在最大值一端显示一个特别大的字符。

  • 您可以根据滑块所在的位置和控件所处的状态,为轨道定义不同的外观。

要了解有关在您的代码中使用滑块的更多内容,请参考UISlider类参考

 

文本框

您可以使用自定义文本框来帮助用户在您的应用程序中进行输入。例如,您可以在文本框的左侧或右侧显示自定义的图像,或者显示一个系统提供的按钮,比如图9-14中的“书签”按钮。在一般情况下,您应该在文本框的左端指明该文本框的用途,而在右端显示一些附加的功能,比如书签。


 









转载于:https://www.cnblogs.com/Piosa/archive/2012/01/01/2309633.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

离散数学与集合论_离散数学中的集合论和集合类型

离散数学与集合论集合论 (Set theory) The set is a well-defined collection of definite objects of perception or thought and the Georg Cantor is the father of set theory. A set may also be thought of as grouping together of single objects into a whole. The ob…

XADD和NEG命令

XADD 交换相加指令,先交换然后相加 比如说: xadd eax,ecx /* 相当于:先执行:xchg eax,ecx然后执行:add eax,ecx */此时eax2,ecx3,执行完:eax5,ecx2 neg …

Visual C# 2008+SQL Server 2005 数据库与网络开发--11.3.2 LINQ to SQL对数据库建模

Visual Studio 2008版本中为LINQ to SQL提供了一个特别的设计器,使用这个设计器可以很方便的将数据库可视化地转换为LINQ to SQL对象模型。在LINQ to SQL中,设计器在关系数据库的数据模型和开发语言之间建立一座桥梁。当应用程序运行时,LINQ …

Java——异常处理(键盘录入一个整数,输出其对于二进制)

例题: 键盘录入一个int类型的整数,对其求二进制表现形式 如果录入的整数过大,给予提示,录入的整数过大,请重新录入一个整数BigInteger 如果录入的是小数,给予提示,录入的是小数,请…

认清SQL_Server_2005的基于行版本控制的两种隔离级别

--认清SQL_Server_2005的基于行版本控制的两种隔离级别--By:zc_0101 Date:2010-03-31--快照隔离级别(snapshot)和已提交读快照隔离级别(read committed snapshot)--特点:在这两种隔离级别下,读取数据时不再请求共享锁,而且永远不会与修改进程…

Java SecurityManager checkPermission()方法与示例

Syntax: 句法: public void checkPermission(Permission perm);public void checkPermission(Permission perm, Object cntxt);SecurityManager类的checkPermission()方法 (SecurityManager Class checkPermission() method) checkPermission() method is availa…

汇编test指令

功能:将两个操作数进行逻辑与运算,并根据运算结果设置相关的标志位,并不改变操作数1和操作数2的值 test 操作数1,操作数2我们经常用test来判断一个值是否为0,用法: test 操作数1,操作数1比如我…

CSS兼容IE/Firefox要点

首先我们说说firefox和IE对CSS的宽度显示有什么不同: 其实CSS ’width’ 指的是标准CSS中所指的width的宽度,在firefox中的宽度就是这个宽度。它只包含容器中内容的宽度。而Internet Explorer ’width’则是指整个容器的宽度,包括内容&#x…

Java GregorianCalendar computeFields()方法与示例

GregorianCalendar类computeFields()方法 (GregorianCalendar Class computeFields() method) computeFields() method is available in java.util package. 在java.util包中提供了validateFields()方法 。 computeFields() method is used to compute the calendar fields and…

JS、JNS、JP(JPE)、JNP(JPO)指令详解、从原理上解释

JS 格式: js 地址当执行到JS指令时,如果标志位SF1,则跳转到指定的地址,如果SF0,不跳转 比如: cmp eax,ecx js 0040100c此时eax0,ecx1,执行完cmp命令,符号标…

zz如何保持专心

养成好习惯 养成在固定时间、固定地点专心学习工作的好习惯。 如果可能,在进入学习或者工作状态前做一些小仪式,比如摆个姿势,戴上学习帽什么的。就好像在运动前做准备活动一样,给身体一个提示。让头脑做好准备 避免在学习前做什么…

Java——File类

一,File类的概述和构造方法 A:file类的概述 file类可以理解成一个路径 文件夹或者是文件夹路径 路径分为绝对路径和相对路径 绝对路径是一个固定的路径,从盘符开始 这里的G:\TIM 就是一个绝对路径,是一个固定的路…

Linux进程环境

一 main函数 当内核使用一个exec函数执行C程序时,在调用main函数之前先调用一个特殊的启动例程,可执行程序将此例程指定为程序的起始地址。启动例程从内核获取命令行参数和环境变量,然后为调用main函数做好准备。 二 进程终止 进程终止的方式…

JO、JNO、JB、JNB命令详解(从原理上)

JO 当执行到jo命令时,如果ZF标志位为1,则跳转,反之不跳转 add eax,ecx jo 00401000c此时eax7fff ffff ,ecx0000 0001,执行完add命令,OF1,原因是eax存储的最大值是7fffffff,再加1&a…

java 根据类名示例化类_Java类类getProtectionDomain()方法及示例

java 根据类名示例化类类class getProtectionDomain()方法 (Class class getProtectionDomain() method) getProtectionDomain() method is available in java.lang package. getProtectionDomain()方法在java.lang包中可用。 getProtectionDomain() method is used to return …

snagit 9.0注册码

8.0的注册码 A5CCU-RYNM4-C9ECC-5CWW9-B5R7B 5HCC5-4CCC9-NGXCM-XYDZ5-H6ER6 HLHAD-2CZLC-8XYDC-CC5CB-P289A D5DSC-WZCBM-JRHSC-QVTEV-TR7R8 snagit 9.0: name:Team Z.W.T sn:XMYU5-9CMBC-5SLBZ-DKML2-JE8M5 谢谢 name:Team Z.W.T sn: WDYMP-8ALRM-GVVV2-PH8VK-6MD27 Z…

vue3 配置 @符号

config,ts 配置 有 爆红 安装 npm install 一下 然后 配置 路径提示功能 tsconfig.json 配置 路径提示功能 一共这两个路径配置

android 页面转换

通过setContentView来改变布局 很简单 ViewchangeActivity.java package idrc.change;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;public class ViewchangeActivity extends Activity {/** Called when the…

mts模式_MTS的完整形式是什么?

mts模式MTS:Microsoft Transaction Server /移动电话服务/多通道电视声音 (MTS: Microsoft Transaction Server/ Mobile Telephone Service/ Multichannel Television Sound) 1)MTS:Microsoft Transaction Server (1) MTS: Microsoft Transaction Server…

Java——IO流

一,IO流常识 Ⅰ,IO流的概述 1,IO流用来处理设备之间的数据传输 2,Java对数据的操作都是通过流的方式 3,Java用于操作流的类都在IO包中 4,流 按流向分为: ①输入流 ②输出流 5&#xff0…