2010-12-31 5 views
1

私は、ビューと1つのサブビューを持つビューコントローラを持っています。デバイスの向きが変更されると、ビューは自動的に再描画されますが、サブビューは再描画されません。明示的に[subview setNeedsDisplay]を行うと再描画されますが、私のコードにその呼び出しを入れる論理的な場所はありません。そして、私は、明示的に再描画するように指示する必要はないので、再描画するようにサブビューに指示するのは直感的ではないようです。ビューの再描画時にサブビューを自動再描画する方法はありますか?デバイスの向きが変わったときにサブビューを再描画させる正しい方法は何ですか?

答えて

6

次のようなことがわかりました。それが最良のアプローチでない場合、誰かがそれを行うためのより良い方法を与えてください。

initWithFrame:方法

self.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 
self.contentMode = UIViewContentModeRedraw; 

で、subview.mファイルに次のようにこの作品と私のコードにうまくフィットしていてもサブビューを設定し、これらのプロパティを必要とする理由、私は表示されませんが、ビューのdoesnを含めます't。

0

スウィフト3/iOS10構文:

self.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
    self.contentMode = .redraw 
関連する問題