2012-01-12 71 views
0

我的應用程序中創建了許多文本框,並且我希望它們在用戶完成編輯時關閉鍵盤。我知道,如果文本框的通過IB創建的,並且有一個IBAction爲我可以使用,但如果這樣創建文本字段的內容,以編程方式觸發didEndOnExit

int top = 60; 
for(NSUInteger i=0; i< [kArray count]; i++){ 
     UITextField *kField = [kArray objectAtIndex:i]; 
     kField.frame = CGRectMake(130, top, 60, 30); 
     kField.borderStyle = UITextBorderStyleRoundedRect; 
     kField.autocorrectionType = UITextAutocorrectionTypeNo; 
     kField.returnKeyType = UIReturnKeyDone; 
     kField.keyboardType = UIKeyboardTypeNumbersAndPunctuation; 

     [scrollView addSubview:kField]; 
     top += 50; 
    } 

我怎麼能收當用戶按下完成按鈕鍵盤?

回答

2

使用UITextFieldDelegate方法:

#pragma mark UITextFieldDelegate methods 

- (BOOL)textFieldShouldReturn:(UITextField *)textField{ 
    [textField resignFirstResponder]; 
    return YES; 
} 

記得讓你的類符合委託像這樣:

@interface MyViewController : UIViewController <UITextFieldDelegate> 
+0

不要忘記分配您的看法控制器作爲'kField'的代表。 'kField.delegate = self'。 – 2012-01-12 21:38:25

0

試試這個:

- (BOOL)textFieldShouldReturn: (UITextField *)textField { 
    [kField resignFirstResponder]; 
    return YES; 
}