0
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"searchCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    searchField = (UITextField *)[cell viewWithTag:10000];

    [searchField resignFirstResponder];
}

さて、「searchCell」という識別子名を持つセルがあります。このセルには、画面の下部にキーボードをポップアップ表示するタグ 10000 を持つ 1 つの UITextField が含まれています。ユーザーが別のセルに触れると、キーボードを非表示にして、ユーザーが上下にスクロールするためのより大きなスペースを確保できるようにする必要があります。

ただし、キーボードがポップアップし、ユーザーがセルをタッチ (選択) すると、上記のコードが呼び出されますが機能しません... :( 割り当てられた UITableViewCell は、ユーザーが現在使用しているものではないようです。私はここで間違っていますか?

4

1 に答える 1

2
  1. クラスを UITextField のデリゲートにする
  2. ストーリーボード ファイルに移動し、テキスト フィールドをクリックして、接続インスペクターに移動します。
  3. アウトレットの下で、デリゲートをView Controllerに接続します
  4. シミュレーターで実行します。それが動作します
于 2013-01-23T19:52:15.427 に答える