輸入!文字框 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------------