カスタムセルレイアウトのテーブルを設計しています。カスタムセルレイアウトを実行するために、空のnibファイルを追加し、次にテーブルビューセルを追加して、ニーズに基づいてすべてを設計しました。その後loadNibNamed
、関数内を使用してテーブルビューにカスタムペン先をロードしますcellForRowAtIndexPath
...すべてが正常で、カスタムテーブルは希望どおりです。
次に、回転を有効にして、ユーザーがデバイスを回転するとデザインも回転するようにします。私のカスタムセルはラベルと画像で構成されているため、ビューの回転を処理する最も簡単な方法は、 InterfaceBuilderのAutosizingプロパティを使用することです。ここに問題があります。カスタムセルの要素に適切な自動サイズ設定の組み合わせを選択すると、実行時の最終結果が20ピクセル左にシフトします。したがって、回転は機能しますが、すべてが誤ってシフトされます。これが私の問題の視覚的な解釈です:
次のように自動サイズ設定を選択します。
結果は、次のようにラベル(今週)を配置した場所と同じです。
次に、ラベルに適切な自動サイズ設定を選択します。
しかし、結果は次のように誤って左に20ピクセルシフトされます。
前の画像のように、「今週」というラベルがDisclosureIndicatorの上にないことがわかります。間違ったシフトは、ポートレートだけでなく、すべてのデバイスの向きにあります。私が間違っていることは何ですか?自動サイズ変更では、ビュー上のオブジェクトの元のサイズと場所を保持するべきではありませんか?