1

OS 3.1 で発生し始めたばかりの問題があります。

カスタム UITableViewCell に UITextField があります。didRotateFromInterfaceOrientation では、reloadData を呼び出して tableview をリロードし、セルのサイズを変更します。発生している問題は次のとおりです。その UITextField でテキストを編集していて、キーボードを上げて電話を回転させると、キーボードは回転しますが機能しなくなります。そして、後ろに回転させると、上下に 2 つのキーボードが表示されます。電話の回転と 'reloadData' の呼び出しの組み合わせが原因で、キーボードが機能しなくなることがわかりました。

これは、電話だけでなくシミュレータでも発生します。また、OS3.1 でのみ発生します。OS3.0でコンパイルしてみましたが、問題は発生しません。

何か案は?ありがとう。

-(void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
    [self.tableView reloadData]; 
}
4

3 に答える 3

0

これを回避するには、カスタム セルに layoutSubviews: を実装し、reloadData: を使用しないでください。(OS 3.1.2)

于 2010-01-11T02:34:41.647 に答える
0

念のため、Gordon がバグレポートを提出することに同意します。

それまでは、reloadData の呼び出しが行われる前に、すべてのファーストレスポンダを辞任する (したがって、キーボードを取り除く) 方がよいでしょう。

于 2009-09-16T10:43:36.400 に答える
0

解決策はありません。したがって、私の回避策は、テーブル ビューをリロードする前にキーボードを辞任することです。

于 2009-11-07T07:08:07.280 に答える