-1

異なる方向 (ポートレートとランドスケープ) に対して別々のメソッドを呼び出したい状況があります。

例えば:

If (Orientation == Portrait)
{
  Some method a;
}

Elseif (Orientation == Landscape)
{
  Some method b;
}
4

5 に答える 5

1

[[UIApplication sharedApplication] statusBarOrientation]方向性がよくわかります。

それから私はこの方法を使用します

if (UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation])) {
//Do something if landscape
} else {
//Do something in portrait
}

[[UIDevice currentDevice] orientation]机の上などでは正常に動作しないため使用しないでください。

于 2012-10-05T09:29:36.893 に答える
1
    if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation))
    {
         // code for landscape orientation      
    }

    if (UIDeviceOrientationIsPortrait([UIDevice currentDevice].orientation))
    {
         // code for Portrait orientation       
    }

UIDeviceOrientationIsLandscapeUIDeviceOrientationIsPortraitはマクロです。

于 2012-10-05T09:30:11.120 に答える
0

これを試して:

UIInterfaceOrientation interfaceOrientation = [[UIApplication sharedApplication] statusBarOrientation];

if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight)

    {// perform ua operation for landscape mode

} そうしないと{

//ポートレート モードの ua 操作を実行します };

于 2012-10-05T09:50:31.540 に答える
0
UIDeviceOrientation deviceOrientation = [[UIDevice currentDevice] orientation];
if(deviceOrientation == UIDeviceOrientationPortrait)
    ...
else  ...

列挙型はUIDeviceOrientation[something]

于 2012-10-05T09:27:40.697 に答える
0

目的-c:

-(void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
    if (UIDevice.currentDevice.orientation == UIInterfaceOrientationPortrait) {
        printf("Portrait");
    } else {
        printf("Landscape");
    }
}
于 2020-05-12T15:46:00.010 に答える