2010-04-29 65 views

回答

1

你存在,使用presentModalViewController控制器:动画:应该支持任何方位,通常使用这种方法:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 

使用这种方法,当你在横向出示您的控制器,它会正确地显示在景观方向也一样。

0

我有同样的问题。我设置了TRUE AutorotateInterfaceOrientation,但是在开始时我的模态视图总是呈现为纵向,即使它是横向。只有当我改变了设备方向(在模拟器中),它的行为才变得正确。但在开始不! 我不知道为什么,但一切都取决于你现在的观点。 例如,如果您使用viewDidLoad方法呈现,则会出现问题。为了解决问题,我从viewDidLoad中调用的方法调用presentModalView(显然,它似乎是同样的事情)。所以,我不喜欢的东西:

- (void) viewDidLoad 
{ 
    [super viewDidLoad]; 
    // add this line 
    [self performSelector:@selector(presentModal) withObject:nil afterDelay:0]; 
} 

-(void) presentModal{ 
    // here present your view 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 

这对我的作品

0

我只是在viewDidAppear添加代码解决了这个问题我自己。我认为它没有在适当的方向上显示出来的原因是因为我在viewDidLoad中使用了show modal代码,并且在那一点上,我认为视图刚加载,但方向尚未设置。所以,在viewDidAppear中加入它为我工作。你可能也会有幸在viewWillAppear(因为那个时候,它必须知道方向,边界,大小等等)。