内部にテキスト フィールドを持つカスタム UITableViewCell があります。IBを使用して作成し、カスタムクラスを持っています。
さて、私の問題は、テキスト入力中にユーザーがテキストフィールドの外側をクリックした場合(キーパッドのリターン/完了キーを押さずに)、フィールドがファーストレスポンダーを辞任するようにテキストフィールドをセットアップしたいということです。Touch Up Inside イベントを処理する必要があることを理解しました。ただし、接続を行っても、テーブルビュークラスはこのイベントを受け取りません。UITableViewCelである必要があるため、UIcontrolのサブクラスではないため、作成できません。
では解決策は??これらのイベントを受け取るにはどうすればよいですか??
ヘッダー ファイル:
#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];
}