2017-06-07 18 views
0

すべてのセクションにヘッダーとフッターのあるテーブルビューがあります。 デバイスが回転すると、ヘッダーはテーブルの幅に合わせてサイズが変更されますが、フッターはポートレートの幅で残ります。TableViewセクションフッターの回転後の幅のサイズが変更されません。

xibファイルに大きな幅を設定しようとしましたが、ヘッダーには機能しますが、フッターには影響しません。

私も

viewWillTransitionToSize 

でリロードデータをやってみました、それが動作しますが、私はそれを行うための最善の方法ではありませんように回転しながら、それはまた奇妙なアニメーションを持っている感じ。

答えて

0

viewWillLayoutSubviews()を使用している可能性があります。このquestionは参考にすべきですが、ビューコントローラビューがそのサブビューをレイアウトしようとしているときはいつでも、これは基本的に呼び出されます。

だからあなたのコードは次のようになります。私はestimatedRowHeightと、それを解決し

override func viewWillLayoutSubviews() { 
    super.viewWillLayoutSubviews() 
    if UIInterfaceOrientationIsLandscape(UIApplication.sharedApplication().statusBarOrientation) { 
     //here you can do the logic for the cell size if phone is in landscape 
    } else { 
     //logic if not landscape 
    } 
self.tableView.reloadData() 
} 
+0

同じ方法で 'tableView.ContentSize'を何らかの任意の値に設定すると、' viewWillLayoutSubviews'が何度も何度もトリガーされるのですか? – rraallvv

0

。 理由はわかりませんが、その後はフッターが適切にサイズ変更されました。

関連する問題