您的位置:首页 > 产品设计 > UI/UE

IOS使用视图控制器和视图(九) UITextField属性

2014-03-31 17:29 302 查看
borderStyle
这个属性属于 UITextBorderStyle 类型,它能指定文本视图如何显示他的边框。

ContentVerticalAlignment

这个属性属于 UIControlContenVerticalAlignment 类型,它会告诉文本视图如何垂直显示文本。假如我们不设置文本在文本视图里纵向居中,它将会默认显示在文本视图的左上角。

textAlignment
这个属性属于 UITextAlignment 类型,它指定了文本视图里的文本水平对齐方式。在这个例子中,我们使文本水平方居中对其(垂直方向也是)。

text

这是一个可读写属性。你可以对它进行读取和写入操作。读取时它会返回文本视图里的

当前文本,写入时它会使文本视图的文本变为你要写入的文本。

一个文本视图会发送一个委托信息给它的委托对象。当用户开始在文本视图里编辑文

本,完成编辑,在文本视图里输入任何符号时,都会触发相关的代理。为了获得相关事件的通知,我们需要给对象设置文本视图的 delegate 属性。这个文本视图的委托必须遵守

UITextFieldDelegate 协议。如下所示:

#import <UIKit/UIKit.h>
@interface Accepting_User_Text_Input_with_UITextFieldViewController
: UIViewController <UITextFieldDelegate>
@property (nonatomic, strong) UITextField *myTextField;
@end

按住电脑上的 Command 键并在 Xcode 里点击 UITextFieldDelegate 协议。将会看到这个协议提供的所有方法。使用这些方法需要在页面初始化时加入
self.myTextField.delegate = self;

下面是这些方法在被调用时的描述:

textFieldShouldBeginEditing:

这个方法返回一个 BOOL 值,告诉文本视图用户是否开始编辑了。如果你不希望用户进

行编辑,则返回 NO.当用户 tap 文本视图时,会触发这个方法(假设文本视图允许编辑).



textFieldDidBeginEditing:


当用户开始编辑文本视图 时 这个方法将会被调用。 当用户 tap 文本视图并且

textFieldShouldBeginEditing:方法返回 YES(允许用户编辑文本内容)时会调用这个方法。



textFieldShouldEndEditing:


这个方法返回一个 BOOL 值,它将告诉文本视图是否结束当前的编辑任务。当用户离

开文本视图或者将第一响应者(first  responder)切换到别的输入框时会调用这个方法。假如这

个方法返回 NO,用户将不能切换到别的输入框中,并且键盘也会显示在屏幕中。



textFieldDidEndEditing:


当文本视图的编辑任务终止时将会调用这个方法。当用户决定编辑别的输入框或利用一

个按钮将键盘隐藏起来时,会调用这个方法。

textField:shouldChangCharacterInRange:replacementString:

任何时候文本视图里的文本被修改都会调动这个方法。方法返回的是一个布尔值。假如

返回 YES,说明允许修改文本。如果返回 NO,文本视图中的文本不会被修改。



textFieldShouldClear:


每个文本视图都有一个 Clear 按钮,通常是一个圆形 X 按钮。当用户按下这个按钮时,

文本视图里的内容将会自动清除。但是我们需要人工启动清除按钮。如果已经启动了清除按

钮并返回 NO 方法,它将会让用户感觉程序没有正常工作。所以想清楚你在做什么,因为当

用户按下这个按钮时,发现文本内容没有被清除,这是很差的用户体验。



textFieldShouldReturn:


当用户在键盘上按下 Return 或 Enter 键时将会调用这个方法,或者隐藏键盘时也会调用

这个方法。在这个方法中,你应该将文本视图设置为第一响应者。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios uitextfield delegate