1
iOS 10のデバイスローテーションでサブビューをレイアウトするにはどうすればよいですか?iOS 10のデバイスローテーションでサブビューをレイアウトする方法
デバイスの回転時にサブビューを再描画したいと考えています。
iOS 10のデバイスローテーションでサブビューをレイアウトするにはどうすればよいですか?iOS 10のデバイスローテーションでサブビューをレイアウトする方法
デバイスの回転時にサブビューを再描画したいと考えています。
didRotateFromInterfaceOrientation
オリエンテーションデリゲートメソッドを追加して使用します。レイアウトサブビューに
はUIView documentationからUIView
のautoresizingMask
財産、
と同様に、
YourView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
を使用します。
ビューの境界の変更は、そのビューが自動的に応じてその サブビューのサイズを変更する場合各サブビューの自動サイズ変更マスクに追加します。
None
以外にautoresizingMask
を変更
layoutSubviews
をトリガします。
したがって、didRotateFromInterfaceOrientation
デリゲートメソッドを使用してサブビューをレイアウトするには、次のコードを使用できます。
-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
[self.view layoutIfNeeded];
[self.view setNeedsLayout];
self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
//....Other code
}
-(void)layoutSubviews{
//write your code to draw here
}