繁体   English   中英

UINavigationController-在所有视图中保留背景图像

[英]UINavigationController - Keep Background Image Across All Views

有没有办法使导航控制器中的所有视图的背景图像保持恒定? 目前,我正在每个视图的viewDidLoad方法中加载相同的背景,但这显示了从一个视图导航到另一个视图时背景图像的移动。 我宁愿开/关屏幕背景上的“幻灯片”的观点的仅仅是内容,但背景逗留静止。 这是我当前的背景图片加载代码:

UIImageView *background = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
background.image = [UIImage imageNamed:@"InfoBackground.png"];
[self.view addSubview:background];
[self.view sendSubviewToBack:background];
[background release];

谢谢!

嗯,也许如果您查看文档 (向下滚动至图2),您将会了解要处理的内容。 因为您正在为要推入UINavigationController的每个视图控制器设置背景图像,所以将获得该动画。 您需要做的是将背景图像设置在导航控制器本身中。

我相信myNavController.view insertSubview:myImageView atIndex:0应该可以工作。 如果您的图像需要准确地填充在内容视图的后面,则可以根据导航栏和工具栏的坐标和/或高度来设置帧坐标,可以通过导航控制器的属性来访问它们。 如果不是,则将框架设置为超级视图的边界。

让我知道事情的后续。

编辑:哦,请注意,您需要确保每个视图控制器都具有透明背景。

我认为更好的主意是将背景图像放在窗口上,并将所有视图(所有viewcontroller的视图)的背景色设置为清除颜色[UIColor clearColor]

如果您希望背景图像是静态的,那么只有一种方法,但我不知道这是不可能的,如果我们将图像放在窗口中并使导航控制器透明,那么无论您做什么,它都将保持静态。 因为在按下或弹出时我们不会更改窗口。

我只是建议以这种方式尝试,而我还没有这样尝试过。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM