fb_license

技術標籤

@selector (1) 初使化區塊 (1) 物件 (1) 物件導向 (2) 型別 (4) 封裝 (1) 流程控制 (1) 陣列 (3) 推論型別 (2) 實機測試 (1) 蓋索林(gasolin) (1) 模組 (1) 憑證 (1) 轉型 (1) 羅康鴻 (121) 類別 (1) 變數 (5) Accelerometer (1) ActiveRecord (1) Activity (1) AFNetworking (1) alloc (1) Android (3) Animation (1) App (1) App ID (1) APP上傳 (1) ASP.NET (1) AVAudioPlayer (1) block (1) C# (2) class (1) CLLocationManager (1) CLLocationManagerDelegate (1) CMMotionManager (4) Controller (1) delegate (1) DELETE語法 (1) Device Motion資料 (1) Dialog (1) DropDownList (1) dynamic language (2) Facebook SDK (9) FBRequest (5) FBRequestConnection (2) FMDB (1) Gesture Recognizers (6) GROUP BY (2) Gyro (1) HAVING (1) IBAction (1) IBOutlet (1) id (3) inheritance (1) init (1) Insert (1) instance variable (1) Interface Builder (1) iOS (70) iOS idea (7) iOS Introduction (1) Layout (1) Magnetometer (1) Menu (2) Method (2) MKMapView (1) MKPointAnnotation (1) MS SQL (5) Nil (1) NSArray (1) NSDictionary (1) NSError (1) NSFileManager & .plist (1) NSMutableArray (1) NSMutableDictionary (1) NSNotificationCenter (1) NULL (1) object (2) Objective-C (16) Objective-C idea (1) ORDER BY (1) Parameter (1) property (1) protocol (2) Provisioning (1) Proximate Sensor (1) Q and A (2) R類別 (1) Rails (9) RESTful SOA (9) Ruby (8) Scene (1) SEELECT (1) Segue (2) SEL (1) SELECT語法 (1) Shake (1) Simulator (1) SOA (8) SQL (6) SQL Server (5) SQL函數 (1) SQL彙總函數 SQL (1) SQLite (1) Storyboard (1) Style (1) Swift (1) Table (1) target & action (1) Theme (1) Toast (1) TRUNCATE TABLE語法 (1) UIActionSheet (1) UIActionSheetDelegate (1) UIActivityIndicatorView (1) UIAlertView (1) UIBarButtonItem (1) UIButton (1) UICollectionView (1) UICollectionViewDataSource (1) UIControl (9) UIDatePicker (1) UIImage (1) UIImagePickerController (2) UIImagePickerControllerDelegate (2) UIImageView (1) UILabel (1) UILongPressGestureRecognizer (1) UINavigationController (2) UIPanGestureRecognizer (1) UIPinchGestureRecognizer (1) UIProgressView (1) UIResponder (1) UIRotationGestureRecognizer (1) UISegmentedControl (1) UISlider (1) UIStepper (1) UISwipeGestureRecognizer (1) UISwitch (1) UITabBarController (1) UITableView (1) UITableViewDataSource (1) UITapGestureRecognizer (1) UITextField (1) UITextFieldDelegate (1) UITextView (2) UITextViewDelegate (1) UIToolBar (1) UIView (8) UIWebView (1) UPDATE語法 (1) var (2) VB.NET (7) View (4) WHERE子句 (1) XML (1)

2013/06/10

[iOS] UITextField & UITextFieldDelegate


我是UITextField,我負責輸入欄位的角色,
讓使用者可以輸入資料


但我需要能夠幫我處理使用者輸入資料的工作,只要符合UITextFieldDelegateprotocol協定,都可以接我的工作。



我繼承自UIControl,因此我擁有與使用者互動的基本能力。











第1步:建立一個名為"UITextField"的"Single View Application"專案
 

第2步:加入一個UILabel,並設立名為label的IBOutlet,以便接下來顯示UITextField的值。










第3步:拖拉UITextField至畫面中


第4步:建立UITextField的IBOutlet物件參考於ViewController中
  • 4.1 對UITextField按右鍵,按任"New Referencing Outlet"右邊的圓點,並拖拉至ViewController類別中


  • 4.2 於"Name"欄位輸入"textField",並按下"Connect"

  • 4.3 確認textView Outlet建立完成





第5步:為"ViewController"加上"UITextFieldDelegate" protocol協定,以擁有處理使用者輸入資料的作業。

  • 5.1 為"ViewController"加上"UITextFieldDelegate" protocol協定,於UIViewController後方加上"<UITextFieldDelegate>"



    @interface ViewController : UIViewController<UITextFieldDelegate> 


    @property (strong, nonatomic) IBOutlet UILabel *label;
    @property (strong, nonatomic) IBOutlet UITextField *textField;


    @end 

  • 5.2 於"ViewController.m"檔中實作 "– textFieldShouldReturn:"方法,處理當使用者按下鍵盤中Return鍵的作業,而使用者按下Return表示輸入完畢。


    - (BOOL)textFieldShouldReturn:(UITextField *)textField {
        //UITextFiled透過text屬性取得使用者輸入的資料, 
        //而後設定於UILabel上顯示。
        [self.label setText:textField.text];

        //textField透過resignFirstResponder方法 
        //釋放第⼀一主控權,如此使用者輸入的鍵盤就會消失 
        [textField resignFirstResponder]; 
        return YES;
    } 




第6步:將實作"UITextFieldDelegate"的ViewController(self),指派至UITextField的delegate屬性中,好將使用者於UITextField輸入資料的工作委派給ViewController(self)物件。當然,UITextField則會以"UITextFieldDelegate"protocol協定將輸入的工作交給ViewController。



    - (void)viewDidLoad {
        [super viewDidLoad];
        //將實作UITextFieldDelegate的ViewController(self), 
        //指派給UITextFiled的delegate屬性中, 
        //好將使用者對UITextFiled輸入資料的處理工作, 
        //委派給ViewController(self)物件。 
        self.textField.delegate = self;
    } 



第7步:執行選取UITextField,此時會出現輸入鍵盤,使用者即可透過鍵盤輸入資料。








檔案連結:UITextField.zip