1

グループ化されたUITableViewが1行で表示され、セル全体が1つの大きなUITextViewであるAppleの「詳細の編集」機能を複製しようとしています。たとえば、連絡先アプリに移動し、連絡先を編集して、メモ フィールドを追加します。それが私の目的です。

私が抱えている問題は、電話を回転させるときです。初めて回転するとき (縦 -> 横) はすべて問題ありません。しかし、後ろに回転すると、テーブルが消えます。理由がわからず、解決策を見つけるために頭を壁にぶつけています。私はこれに文字通り何日も取り組んできましたが、役に立ちませんでした。

私が最初に試した方法は、tableView:heightForRowAtIndexPath を実装することで、横向きかそうでないかによって異なる高さを返します。

私が試した別の実装は、コントローラーに 2 つの完全に別個のビューを用意すること
でした。
UIView *ポートレート;
willAnimateRotationToInterfaceOrientation でこれらを切り替えます。そこにもサイコロはありません。

また、self.tableViewの境界とフレーム、およびself.tableview.contentOffsetをいじってみましたが、どれもまったく効果がないようです。

ローテーションで何をしたいのかを正確に示しているグーグルに失敗している例はありますか?これは非常に一般的な状況だと思いますが、何も見つけることができませんでした。

だから私の質問は、他の誰かが以前にこのようなことに遭遇したことがありますか? または、私が見逃している可能性のあるいくつかの一般的な落とし穴を知っていますか? 私はちょうどそれをねじ込み、[詳細の編集] ビューで回転を許可しないと言おうとしていますが、それがユーザーが横向きのキーボードを必要とする可能性が最も高い時期であることを考えると、可能であればそれを持ちたいと思います...

誰でも提供できるヘルプをありがとう。

4

1 に答える 1

0

It probably has to do with the way you've anchored your objects in Interface Builder. Go into Interface Builder and pull up the inspector for the tableview. I think it's the third tab that has a set of arrows. The inner set of arrows controls the stretchiness of the object and the outer set of the arrows controls the anchors. Lock the left/right sides and choose either the top or bottom (or both if you're full screen).

You can test your view directly in Interface Builder (including rotating the view) so I suggest doing that to see that your new solution works.

于 2009-10-28T17:20:25.130 に答える