我有一个带导航栏的UIViewTable。当我读取数据时,我在表格顶部显示带有ActivityIndicator的UIViewController。问题是当我旋转设备这个顶视图不旋转时,我不知道为什么? :( 这是我使用ActivityIndicator添加顶视图的方式:
UIView *view = [[UIApplication sharedApplication] keyWindow];
[view addSubview:viewWithLoader.view];
这就是我删除它的方法:
[viewWithLoader.view removeFromSuperview];
这是从顶视图(使用ActivityIndicator)的方法:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
答案 0 :(得分:2)
调用[self.window makeKeyAndVisible]后;在你的App委托上,获得轮换通知,动画等的视图是该初始视图的子视图。
我碰巧有一个顶栏取代了状态栏。所以我认为将它实际添加为关键窗口的子视图是个好主意。但就是这种情况导致了你所经历的结果。
您有2个选项
拥有该顶视图的人应该注意旋转它,或者在旋转发生时移除/添加它以使其具有正确的方向。
将该topview设为其中一个自动旋转视图的子视图。
两者都很容易实现,但我发现没有。 2对于用户而言在视觉上更具吸引力。
答案 1 :(得分:0)
我找到了解决办法:)我将这个顶视图(带加载程序)添加为'模态视图',并且旋转在所有视图中都能正常工作:)
...
[self presentModalViewController:ldr animated:YES];
...
[self dismissModalViewControllerAnimated:YES];