我有一个应用程序,其中只允许纵向模式。我正在使用子类qlPreviewController
来显示图像的预览。在此允许所有方向。但是当我以横向模式关闭预览控制器时,我的UIView控制器的ui会崩溃。我在UIViewController' viewWillAppear
方法中使用以下代码,我的ui变得正确。
如果我使用
-(void)viewWillAppear
{
UIViewController *c = [[UIViewController alloc]init];
[c.view setBackgroundColor:[UIColor clearColor]];
[self.navigationController presentViewController:c animated:NO completion:nil];
[self performSelector:@selector(delay) withObject:self afterDelay:1.0 ];
}
-(void)delay
{
[self.navigationController dismissViewControllerAnimated:NO completion:nil];
}
任何人都可以说出这个的原因以及更好的方法吗
为了限制应用程序仅使用纵向模式,我创建了一个BaseViewController类作为UIViewController的子类,并且只允许使用纵向模式。我在应用程序中创建了所有其他视图控制器作为此BaseViewController的子类。 BaseViewController中的代码是: -
-(BOOL)shouldAutorotate
{
return FALSE;
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}