UIDevice Orientation

前端 未结 8 1519
忘了有多久
忘了有多久 2020-12-13 07:34

I have the following code in a method. When I run this in the simulator the debugger skips right over the code?? What am I missing?

if (([[UIDevice currentDe         


        
8条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-13 08:17

    Update 2

    This shouldn't matter, but try turning on orientation notifications:

    [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
    
    
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(detectOrientation) name:@"UIDeviceOrientationDidChangeNotification" object:nil];
    

    Update

    My bad, I assumed it was empty.

    Try removing the or statement and just test for a single orientation. See if that fixes it. Maybe there is a bracket problem or something silly.

    I have the following test working in production code, so your technique should work:

        if (([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft) || 
            ([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight)) {
    
    
    }
    

    Original Answer

    You have to actually put statements in the if blocks to get it to step in.

    The debugger is smart enough to skip over empty blocks.

提交回复
热议问题