私はいくつかの s を持つ単純なUITableViewController
サブクラスを持っていUITableViewCell
ます。各セルで imageView と textLabel を使用しています。
デバイスを縦向き/横向きに回転すると、textLabel のフレームが変わります。この変更は、縦向きから横向きへの回転には問題ありません。ただし、横向きから縦向きに戻すと、フレームが「正しくない」値に変わります (テキストが不適切に調整されます)。
どうすればこれを解決できますか?
imageViews のフレームの変更に関して同様の問題がありました。UITableViewCell
でフレームをサブクラス化して正しい値に設定することで、これを解決しましたlayoutSubviews
。ここでCGRect
、覚えておく必要がある値は 1 つだけです (ハードコードするだけです)。
textLabel は異なります。2 つのフレーム (向きごとに 1 つ) を追跡する必要があり、フレームの値は textLabel のテキストに依存すると思います。したがってCGRect
、サブクラスに 2 つのインスタンス変数を追加することUITableViewCell
はオプションです。しかし、もっと簡単な解決策があると思います。