輸入!文字框 UITextField
UITextField 繼承UIControl後具備互動輸入,它是一個具有可編輯內容的文字框,並且帶有許多事件可以在輸入與按下鍵盤Return(輸入)後處理文字內容。
執行結果

Log
textFieldDidBeginEditing:哈囉!Swift!!
textFieldShouldEndEditing:哈囉!Swift!!
textFieldDidEndEditing:哈囉!Swift!!
按下Return
Swift 程式範例
//
// 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
}
}
Objective-C 程式範例
標頭檔
//
// ViewController.h
//
//
//
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController <UITextFieldDelegate>
@end
程式檔
//
// 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