【IOS学习】之三、图像视图&文本字段

来源:互联网 发布:清朗的网络空间 编辑:程序博客网 时间:2024/04/30 17:13

现在我们开始ios应用程序的编写,先从基本控件开始

看到上面红色放开标记的Image View 视图了吧,这就是我们要说的第一个控件,图像视图控件。

我们拖动一个图像视图到View窗口上,  IB将自动重新调整图像视图的大小。


OK,我们选中图像,看到下面的UIImageView类的可编辑选项。下面我们就来介绍。


看到那个Image属性了吧,这个属性算是最重要的了,单击右侧的小箭头,选择图像,要注意的是这个图像要包含在Xcode中,ok选择完成,图像就会出现在图像视图中了。

现在我们就来介绍这些属性:

1、Mode属性

看上图应该可以看到这个属性,这个菜单用于定义图像在视图内部的对齐方式,是否缩放以适应视图。

要注意的是,任何的图像缩放选项都可能增加额外的开销,所以最好避开这些选项。

2、Alpha属性

定义图像的透明度,也就是背景的可见度。默认1.0,如果小于1.0就会透明。这要使应用程序话费额外的处理器来计算透明度。

3、Background

可以忽略这个,他继承自UIView,不会影响图像视图的外观。

4、Tag属性

UIView的所有子类,包括所有视图和控件都有一个标记属性。他只是和图像绑定在一起的一个数值而已。给开发人员使用。

标记是用于标识界面上对象的一种和语言无关的方法。假设你又5个不同的按钮,每个按钮都有一个不同的label,并且希望使用一个操作方法来处理所有这5个按钮,这种情况下,你可能需要通过某种方式在调用操作方法时区分这些按钮。   

标记和标签不同,他永远都不会更改。   所以如果你在IB中设子了一个标记值,随后可以使用它快速可靠地确定通过sender参数传递给操作方法的控件是哪一个。

5、Drawing复选框

Opaque:选中后将通知IOS视图后面的任何内容都不应去绘制。

Hidden:选中后,用户将不能看到这个控件。

Clear Context Before Drawing:选中后,IOS将使用透明黑色绘制控件覆盖的所有区域。然后才实际绘制控件。  默认是未选中的,保持就好。

Clip Subviews:如果你有子视图,并且这些子视图并不完全包含在他的父视图中,这个复选框将确定子视图的绘制方式。

                          选中它后,只有在父视图范围内的子视图部分将被绘制。         也会影响一些性能。

                          不选中它,全部子视图都将绘制出来,不管它是否在父视图内部。

Autoresize Subviews:它告诉IOS可能调整子视图的大小。

                          选中这个复选框,因为我们不允许调整该视图的大小,所以该设置实际上没有什么作用。


6、Interaction复选框

User Interaction Enabled:指定用户能否对此对象进行操作。  如果你不想操作图像,那么就可以不用选中。

Multiple Touch:用于确保此控件是否能够接收多点触摸事件。


OK,图像视图介绍完了,下面来看一下文本字段:


看到上面红框选中的部分,这就是Text Field。

选中它,调出检查器:


1、设置

在第一个字段Text中可以设置默认值。第二个字段Placeholder用于将在文本字段中以灰色显示的文本,前提是该字段没有值。

下面的Background和Disabled字段多数情况下完全不要使用它们,它们仅在需要定制文本字段的外观时使用。

下面的Alignment 三个按钮用于控制字段中文本的对齐方式。

下面的Border四个按钮是用于更改文本字段边缘的绘制方式。

Clear When Editing Begins 是用来指定用户触摸此字段时的操作。  选中后,之前的该字段中的任何值都将被删除,并且用户将能够重新输入。     未选中,之前的值将仍然保留在此字段中,并且用户将能够编辑它。

Text Color字段是选色版。

Adjust to Fit 指定文本的大小是否应随文本字段尺寸的减小而减小。它确保整个文本在视图都可见,即使文本大于所分配的空间。 复选框右侧的文本字段,用于指定最小文本大小。

2、文本输入特征

Capitalize 下拉列表更改为Words。这样将所有的单词自动转换为首字母大写。

Keyboard: 选择Number Pad 希望用户只输入数字。

Return Key: 更改为Done,并将所有其他文本输入特征保留为默认值。   return key是位于键盘右下方的键,并且其标签将根据用户的操作而变化。

auto-enable Return key: 选中它,enter键将被禁用。直到至少在文本字段中键入一个字符。

Secure: 是否在文本字段中显示键入的字符。  如果选中它,这个文本字段将作为一个密码字段。

3、剩余操作

下面的部分是用于设置继承自UIControl的一般控件属性。通常是不适用于文本字段的,并且也不会影响字段的外观。

剩余的部分应该比较熟悉了,我们刚刚在图像视图检查器中介绍了。


添加完了控件,我们要在代码中定义他们了:

#import <UIKit/UIKit.h>@interface A : UIViewController{      UITextField *nameField;      UITextField *numberField;}@property (nonamic, retain) IBOutlet UITextField *nameField;@property (nonamic, retain) IBOutlet UITextField *numberField;@end

#import "A.h"@implementation A@synthesize nameField;@synthesize numberField;@end



我们输入完数据后要将键盘关闭,可以单击Done按钮来关闭键盘,也可以触摸除文本字段的其他部分来关闭键盘,下面来看是怎样实现的:

.....- (IBAction)textFieldDoneEditing:(id)sender;...


实现:
- (IBAction)textFieldDoneEditing:(id)sender{     [sender resignFirstResponder];}
这个ibaction要采用Did End On Exit事件。

我们告诉触发这个操作的这个控件取消第一响应者状态。当文本字段市区第一响应者状态后,与之相关的键盘将消失。


下面来看一下通过触摸背景来关闭键盘:

这里作用是通知所有文本字段在必要的时候失去第一响应者状态。

而我们在非第一响应者控件上调用resignFirstResponder是绝对安全的。

...- (IBAction)backgroundTap:(id)sender;...

实现:

- (IBAction)backgroundTap:(id)sender{      [nameField resignFirstResponder];      [numberField resignFirstResponder];}
 他通知所有文本字段在必要时失去第一响应者状态。
在这里从Touch Down事件拖到File's Owner图标,选择backgroundTap:操作。



2012/9/21
jofranks 于南昌