如何根据开关按钮ON&更改设备的方向OFF?

时间:2016-04-20 10:33:41

标签: ios objective-c uiinterfaceorientation

我需要在应用运行时更改应用方向。我的过程是,如果我打开开关,应用程序应该改变其方向(即)(i)如果应用程序以横向方向运行,那么如果我打开“开启”按钮,则设备方向应自动更改为纵向模式。 。(ii)如果应用程序在纵向模式下运行,如果我关闭开关,那么设备方向应该自动改变为横向模式...我已经尝试了一些东西,但它不是为我而行..可以任何人请给出一些解决方案为此...

 - (IBAction)PortraitSwitchPressed:(UISwitch *)sender
   {
     if (sender.isOn)
     {
        UIInterfaceOrientationMaskPortrait;
        [[UIDevice currentDevice]setOrientation:UIInterfaceOrientationPortrait]; // no visible @interface for 'UIDevice' declares the selector setorientation
          [self.PortraitSwitch setOn:YES animated:YES];
      }
else
     {

       UIInterfaceOrientationMaskLandscape;
      [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationMaskLandscape];
         [self.PortraitSwitch setOn:NO animated:YES];
}}

1 个答案:

答案 0 :(得分:0)

尝试以下代码:

IPage<IUser> page = Activator.CreateInstance(typeof(ConfigPage)) as IPage<IUser>;

根据您的要求对- (IBAction)PortraitSwitchPressed:(UISwitch *)sender { if (sender.isOn) { NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait]; [[UIDevice currentDevice] setValue:value forKey:@"orientation"]; [self.PortraitSwitch setOn:YES animated:YES]; } else { NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeLeft];//or UIInterfaceOrientationLandscapeRight [[UIDevice currentDevice] setValue:value forKey:@"orientation"]; [self.PortraitSwitch setOn:NO animated:YES]; } } 进行修改。