输入!文字框 UITextField

输入!文字框 UITextField

UITextField 继承UIControl后具备互动输入,它是一个具有可编辑内容的文字框,并且带有许多事件可以在输入与按下键盘Return(输入)后处理文字内容。

执行结果

Log

textFieldDidBeginEditing:哈囉!Swift!!
textFieldShouldEndEditing:哈囉!Swift!!
textFieldDidEndEditing:哈囉!Swift!!
按下Return

Swift 程式范例

//-----------start-----------
//
//  ViewController.swift
//
//

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()

        // UITextField初始化
        let dyTextField: UITextField = UITextField(frame: CGRectMake(40,50,200,30))

        // 设定预设文字内容
        dyTextField.text = "哈囉!Swift!!"

        // 设定文字颜色
        dyTextField.textColor = UIColor.whiteColor()

        // Delegate
        dyTextField.delegate = self

        // 设定输入框背景颜色
        dyTextField.backgroundColor = UIColor.brownColor()

        // 框线样式
        dyTextField.borderStyle = UITextBorderStyle.RoundedRect

        // 将TextField加入View
        self.view.addSubview(dyTextField)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    // 设定delegate 为self后,可以自行增加delegate protocol
    // 开始进入编辑状态
    func textFieldDidBeginEditing(textField: UITextField){
        println("textFieldDidBeginEditing:" + textField.text)
    }

    // 可能进入结束编辑状态
    func textFieldShouldEndEditing(textField: UITextField) -> Bool {
        println("textFieldShouldEndEditing:" + textField.text)

        return true
    }

    // 结束编辑状态(意指完成输入或离开焦点)
    func textFieldDidEndEditing(textField: UITextField) {
        println("textFieldDidEndEditing:" + textField.text)
    }

    // 按下Return后会反应的事件
    func textFieldShouldReturn(textField: UITextField) -> Bool {
        //利用此方式让按下Return后会Toogle 键盘让它消失
        textField.resignFirstResponder()
        println("按下Return")
        return false
    }

}

//------------end------------

Objective-C 程式范例

标头档

//-----------start-----------
//
//  ViewController.h
//
//
//

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController <UITextFieldDelegate>


@end
//------------end------------

程式档

//-----------start-----------
//
//  ViewController.m
//
//
//

#import "ViewController.h"
#import <UIKit/UIKit.h>


@interface ViewController ()

@end

@implementation ViewController


- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    // UITextField初始化
    UITextField *dyTextField = [[UITextField alloc] initWithFrame:CGRectMake(40,50,200,30)];

    // 设定预设文字内容
    dyTextField.text = @"哈囉!Swift!!";

    // 设定文字颜色
    dyTextField.textColor = [UIColor whiteColor];

    // Delegate
    dyTextField.delegate = self;

    // 设定输入框背景颜色
    dyTextField.backgroundColor = [UIColor brownColor];

    // 框线样式
    dyTextField.borderStyle =  UITextBorderStyleRoundedRect;

    // 将TextField加入View
    [self.view addSubview:dyTextField];


}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

// 设定delegate 为self后,可以自行增加delegate protocol
// 开始进入编辑状态
- (void) textFieldDidBeginEditing:(UITextField*)textField {
    NSLog(@"textFieldDidBeginEditing:%@",textField.text);
}

// 可能进入结束编辑状态
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
    NSLog(@"textFieldShouldEndEditing:%@",textField.text);
    return true;
}

// 结束编辑状态(意指完成输入或离开焦点)
- (void)textFieldDidEndEditing:(UITextField *)textField {
    NSLog(@"textFieldDidEndEditing:%@",textField.text);
}

// 按下Return后会反应的事件
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    //利用此方式让按下Return后会Toogle 键盘让它消失
    [textField resignFirstResponder];
    NSLog(@"按下Return");
    return false;
}


@end

//------------end------------

参考资料

UITextField Class