を含むUITableView
カスタムを使用しています。UITableViewCell
UITextField
myMethod
メソッド ( ) がクリックされたときに呼び出したい( ) と、次のようにしてデリゲート メソッドUIControlEventTouchDown
内でこれを接続しようとしました。UITableView
cellForRowAtIndexPath
[tf addTarget:self action:@selector(myMethod) forControlEvents:UIControlEventTouchDown];
をクリックしてUITextField
も何も起こりません。
UITextField
の外側の別のものに対してまったく同じことをしようとしましたUITableView
:
[othertf addTarget:self action:@selector(myMethod) forControlEvents:UIControlEventTouchDown];
クリックするとothertf
、期待どおりにメソッドが呼び出されます。
tf
交換したことを除けば、コードは同じであるため、少し混乱していますothertf
。
以下は の完全なコードですcellForRowAtIndexPath
。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *DetailCellIdentifier = @"DetailFieldView";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:DetailCellIdentifier];
if (cell == nil) {
NSArray *cellObjects = [[NSBundle mainBundle] loadNibNamed:DetailCellIdentifier owner:self options:nil];
cell = (UITableViewCell*) [cellObjects objectAtIndex:0];
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;
UITextField *tf = (UITextField *)[cell viewWithTag:2];
tf.text = @"some value";
[othertf addTarget:self action:@selector(myMethod) forControlEvents:UIControlEventTouchDown];
[tf addTarget:self action:@selector(myMethod) forControlEvents:UIControlEventTouchDown];
return cell;
}
誰かが私が間違っていることを見つけることができますか? 私はiOS開発に慣れていないので、おそらく単純なものです。