Я пишу настройку, чтобы изменить размер центра управления.Настройка рамки, если в ландшафте не работает iOS
Я пытаюсь установить рамку в зависимости от ориентации.
Это код:
%hook SBControlCenterContainerView
-(void)layoutSubviews{
%orig;
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if ([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft || [[UIDevice currentDevice] orientation ]== UIDeviceOrientationLandscapeRight){
self.frame = CGRectMake(0, 0, (screenBounds.size.width - 20), 427);
} else {
self.frame = CGRectMake(0, 227, screenBounds.size.width - 20, 427);
}
}
%end
Но кадр не меняется при переходе на ландшафтном режиме. Он устанавливает только фрейм с тем, что установлено для инструкции else. Что я делаю неправильно, и там есть альтернатива?