获取根ViewController - Objective-C

时间:2014-07-03 11:38:30

标签: ios iphone objective-c storyboard root

以下是我的问题:我实际创建了一个custom segue,以不同的方式管理UIViewControllers之间的转换(我正在Storyboard工作基于1}}的项目)。我使用CATransform3D添加了一些动画来移动视图......所以...当我这样做时,我在背景中唯一能看到的是黑色视图。

我很想知道如何更改颜色,是否可以用UIImageView替换它。你有任何诀窍/想法吗?

谢谢! :)

enter image description here

2 个答案:

答案 0 :(得分:0)

如果您确定黑色视图是根控制器的视图,则可以尝试以下操作:

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"my_image"]];
UIView *rootView = [[UIApplication sharedApplication].keyWindow.rootViewController.view];
[rootView insertSubview:imageView atIndex:0];

答案 1 :(得分:0)

实际上,这是一个坟墓,但我将答案留给以后的人们。

我们知道iOS是从OS X迁移而来的,因此所有viewController都位于UIWindow中,the black colorbackgroundColor of the window。因此,您should not找到了任何root viewController,找到的就是the top window

如果您想change the black backgroundColor to other color(例如白色),请执行以下操作:

  UIWindow *window = [[UIApplication sharedApplication].windows lastObject];
  window.backgroundColor = [UIColor whiteColor];