目的
iOSアプリで画面が回転された時に検知するための関数のメモ
環境
- Xcode 11.6
- Objective-c、swift
- Swift5.0
iPadで検証しました。環境によってはうまく機能しない場合があります。
関数について
回転を検知したいViewControllerにて以下のfuncを貼り付けると、回転時に呼ばれます。
Objective-cの場合は以下のようにしました。
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
[coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) {
//処理
} completion:nil];
}
swiftの場合は以下のようにしました。
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransition(to: size, with: coordinator)
coordinator.animate(alongsideTransition: { _ in
//処理
}, completion: nil)
}
メモとしては以上です。