关于ios设备的旋转判断问题

    xiaoxiao2021-03-26  14

    UIDeviceOrientation 是ios设备当前旋转方向   ,这个参数可以取值但不能设置;

    UIInterfaceOrientation   是程序界面当前旋转方向  这个你可以设置;

    Portrait 表示 纵向 (屏幕直立),Landscape 表示 横向(屏幕横躺)

    下面举个例子 说明:

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

    {

        //声明一个指标,并取得当前设备的状况

        UIDevice *device = [UIDevicecurrentDevice] ;

        //取得当前Device的方向,来判断描述。(Device的方向形态为Integer

        switch (device.orientation) {

            caseUIDeviceOrientationFaceUp:

                NSLog(@"设备屏幕朝上平躺");

                break;

                

            caseUIDeviceOrientationFaceDown:

                NSLog(@"设备屏幕朝下平躺");

                break;

                

                //当系统无法获取 设备状态,可能是 斜躺

            caseUIDeviceOrientationUnknown:

                NSLog(@"未知方向");

                break;

                

            caseUIDeviceOrientationLandscapeLeft:

                NSLog(@"屏幕向左橫置");

                break;

                

            caseUIDeviceOrientationLandscapeRight:

                NSLog(@"设备屏幕朝左横置");

                break;

                

            caseUIDeviceOrientationPortrait:

                NSLog(@"设备屏幕直立");

                break;

                

            caseUIDeviceOrientationPortraitUpsideDown:

                NSLog(@"设备屏幕直立,上下颠倒");

                break;

                

            default:

                NSLog(@"设备方向无法辨识");

                break;

        }

        

        // Return YES for supported orientations

        return (interfaceOrientation ==UIInterfaceOrientationLandscapeLeft);// 只支持向左横向, YES表示支持所有方向

    }

    转载请注明原文地址: https://ju.6miu.com/read-450309.html

    最新回复(0)