2011-03-17 65 views
1

我有一个导航栏的UIViewTable。当我读取数据时,我在表格顶部显示带有ActivityIndi​​cator的UIViewController。问题是当我旋转设备这个顶视图不旋转时,我不知道为什么? :( 这是我添加顶视图与ActivityIndi​​cator:关键窗口不旋转

UIView *view = [[UIApplication sharedApplication] keyWindow]; 
[view addSubview:viewWithLoader.view]; 

这是我的移除:

[viewWithLoader.view removeFromSuperview]; 

这是从俯视图(与ActivityIndi​​cator)方法:

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

你有没有其他的子视图那些旋转? – Pacu 2011-03-17 14:09:46

+0

是的一切正常。在我将它添加为'keyWindow'之前,这个工作正常。但我必须这样做,因为如果我只说[self.view addsubview:viewWithLoader] ...那么我不会在导航栏上。 – 1110 2011-03-17 14:24:33

回答

2

在您调用[self.window makeKeyAndVisible]之后;在您的应用程序委托上,获取旋转通知,动画等的视图是该初始视图的子视图

它发生在我身上,我有一个顶级酒吧,取代了状态栏。所以我认为将它作为关键窗口的子视图添加是个好主意。但是这种情况导致了你正在经历的结果。

您有2个选项

  1. 谁就拥有该俯视图看应该照顾旋转它或删除/时发生旋转时因此它具有正确的方向添加。

  2. 使该顶视图成为自动旋转视图之一的子视图。

两者都很容易实现,但我没有发现。 2对用户来说更具视觉吸引力。

+0

我用加载器调用这个视图的按钮导航到视图。该视图旋转很好。我将它从纵向旋转到横向,并按下顶部视图方向不变的按钮: 此按钮:... [self.view addSubView:viewWithLoader]; – 1110 2011-03-17 15:08:18

+0

尝试在旋转时删除并添加topView。当在当前视图控制器上调用willRotate ...并在调用didRotateFromInterfaceOrientation时添加视图时,使用加载器删除视图。 – Pacu 2011-03-17 16:23:05

0

我找到了解决方案:)我添加此顶视图(装载机)为“模态的视图”和轮换工作正常,在所有视图:)

... 
[self presentModalViewController:ldr animated:YES]; 
... 
[self dismissModalViewControllerAnimated:YES];