我有一個自定義的UITableViewCell,裏面有一個文本字段。我已經使用IB創建了它,併爲它定製了一個類。如何使用文本字段處理UItableViewCell的事件(Touch Up Inside/Outside)?
現在,我的問題是,我想設置文本字段,以便在文本輸入過程中,如果用戶在文本字段外單擊(沒有按下鍵盤上的返回/完成鍵),該字段將辭退第一響應者。我明白,那是否需要處理Touch Up Inside Event。然而,即使我已經完成了連接,我的tableview類永遠不會收到這個事件。我假設它是因爲它不是UIcontrol的子類,我不能使它成爲UITableViewCel。
那麼最新的解決方案?我如何收到這些事件?
頭文件:
#import <UIKit/UIKit.h>
@interface MMSingleTextFieldCell : UITableViewCell <UITextFieldDelegate>
// Properties
@property (weak, nonatomic) IBOutlet UITextField *singleTextField;
// Methods
- (IBAction)eventTouchUpOutside:(id)sender;
- (IBAction)eventTouchUpInside:(id)sender;
@end
類文件:
#import "MMSingleTextFieldCell.h"
@implementation MMSingleTextFieldCell
@synthesize singleTextField;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
}
return self;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
- (IBAction)eventTouchUpOutside:(id)sender {
[singleTextField resignFirstResponder];
}
- (IBAction)eventTouchUpInside:(id)sender {
[singleTextField resignFirstResponder];
}
非常感謝!代碼完美工作。僅供參考閱讀另一段代碼。意識到我不必保留指向文本字段的指針來關閉鍵盤。只需在「dismissKeyboard」方法中執行「[self.tableView endEditing:NO]」就可以了! – iansari 2013-05-08 19:23:22
好極了!很高興聽到!如果我的答案解決了您的問題,請將其標記爲答案標記在向上/向下箭頭的左側) – Stunner 2013-05-08 20:13:28