0

iOS6 でアプリケーションを開発しており、XCode 4.5.2 を使用しています。

スタイルが であるUITableViewgroupedがあります。すべての単一セルには、サイズがUITableViewCellサイズと正確に等しいUITextFieldがあります。UITextFieldを作成するには、このコードを使用しています。

  UITextField *txtField = [[UITextField alloc]initWithFrame:CGRectMake(20, 10, 320, 44)];
  txtField.autocorrectionType = UITextAutocorrectionTypeNo ;
  txtField.opaque = 1.0;
  txtField.contentMode = UIViewContentModeCenter;
  if(indexPath.row == 0)
      txtField.placeholder = @"Name";
  else if(indexPath.row == 1)
      txtField.placeholder = @"Email";
   if(indexPath.section == 2)
       txtField.placeholder = @"Write here...";
   [cell addSubview:txtField ];

そして、このUITextFieldcellサブビューとして追加しています。問題は、セルをクリックすると、キーボードが表示されることがあるということです。しかし、これはセルのいずれかをクリックしたときのスクリーンショットです。セルをクリックしたときのスクリーンショット

これは、 UITextFieldを に追加cellしても効果がないことを意味します。なぜなら、それはUITableViewの通常の動作だからです。奇妙な問題は、もう一度クリックするとキーボードが表示され、正常に機能することです。しかし、各セルにはまだ青い色があり、破壊できません。これが2番目のスクリーンショットです。 2回目のスクリーンショット

また、常に発生するとは限らないため、この予期しない動作の原因を検出できません。

どうすればこの問題を解決でき、何が原因なのか分かりますか?

ありがとうございました。

4

1 に答える 1

0

tableView.allowsSelection を FALSE に設定するだけでよいと思います。

于 2013-01-21T19:09:59.957 に答える