ios поделиться расширением только портрет

Мне нужно ограничить расширение моего ресурса только в портретном режиме. Но пока это не нормально. Есть ли способ сделать?

@implementation UINavigationController

-(BOOL)shouldAutorotate
{
     return UIInterfaceOrientationMaskPortrait;
}

-(NSUInteger)supportedInterfaceOrientations
{
     return UIInterfaceOrientationMaskPortrait;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
     return UIInterfaceOrientationPortrait;
}

1 ответ

Вы можете расширить UIScreen, как в ответе здесь

И выступать в

   - (void)viewDidLayoutSubviews of UIViewController.

Что-то вроде в ответе здесь

Код из первой ссылки выглядит так в Objective-C:

    - (UIInterfaceOrientation) orientation {

CGPoint p = [self.coordinateSpace convertPoint: CGPointZero toCoordinateSpace: self.fixedCoordinateSpace];

if (CGPointEqualToPoint(p, CGPointZero)) {
    return UIInterfaceOrientationPortrait;
} else {

    if (p.x != 0 && p.y != 0) {
        return UIInterfaceOrientationPortraitUpsideDown;
    } else {
        if (p.x == 0 && p.y != 0) {
            return UIInterfaceOrientationLandscapeLeft;
        } else {
            if (p.x != 0 && p.y == 0) {
                return UIInterfaceOrientationLandscapeRight;
            } else {
                return UIInterfaceOrientationUnknown;
            }
        }
    }
}

return UIInterfaceOrientationUnknown;

}

Другие вопросы по тегам