2012-02-13 75 views
3

似乎无法找到修复图形的方法 - 在用户从一个场景到另一个场景导航时,该图形将保持静态。已经梳理了几天的论坛,但大多数答案都指向了MainWindow.xib,它不是为故事板项目生成的。希望得到任何建议。为使用Storyboard的iPhone应用程序修复背景

回答

1

您可以尝试手动将UIImageView添加到您的窗口,然后为所有其他视图设置0背景透明度 。

+0

感谢您的回复,但不确定您在'window'中的含义。假设我有一个链接了四个视图的导航控制器 - 您是否说我应该将背景图形放在第一个视图中,并将其他三个视图设置为透明? (我已经尝试过,没有快乐。)对不起,如果我失去了一些非常明显的事情......完整的noob。 – resedasue 2012-02-13 18:35:46

+0

我的意思是[UIApplication sharedApplication] .keyWindow。您只需在程序启动时添加所需图像的视图,然后将所有视图的backgroundColor设置为[UIColor clearColor] – Max 2012-02-13 18:38:06

+0

您的规则 - 这使我走上了正确的道路。我已经详细说明了我在回答问题时所做的工作,希望能在一个小时或五个小时内挽救他人......再次感谢。 – resedasue 2012-02-14 02:40:46

1

做到这一点的一种方式 - 它可能不是最好的 - 可以是你的子类UIView,并在故事板中的所有viewController中设置UIView实例,它是你的cutomized UIView类的一个实例,它包含作为背景的图形。

+0

哇,你们很快...谢谢你的建议。我认为这会和我所做的有相似的效果 - 只是将图形添加到每个场景中......问题在于它是位于角落的裁剪图形,所以当场景从一个场景移动到另一个场景时,在所有它的时髦,裁剪的荣耀看上去......不是太好。 – resedasue 2012-02-13 18:38:17

0

如果你想以编程方式解决这个问题,每个视图控制器内,设置:

[[self view] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]]]; 

viewDidLoad

我敢肯定,一些调整将允许你在整个程序中适用这一原则从应用程序委托,或通过使用单身。

尽管如此,您仍然需要在每个视图控制器内进行一些方法调用,以便在此处应用此样式。

+0

感谢您的建议 - 尝试过,但它创造了与将图像视图拖动到每个场景上相同的效果,图像随场景动画而移动。 – resedasue 2012-02-13 20:21:55

6

感谢@Max的建议,我可以拼凑在一起。就像我刚才说的,对此很新颖,所以如果这段代码需要调整,请留下评论,以免引起其他人误入歧途。

添加图像到应用程序的主窗口,在AppDelegate中的didFinishLaunchingWithOptions方法:

UIImageView *myGraphic = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"myGraphic.png"]]; 
[self.window.rootViewController.view addSubview: myGraphic]; 
[self.window.rootViewController.view sendSubviewToBack: myGraphic]; 

然后,让你的看法透明的,所以背景显示通过 - 在你的viewController类/ ES,加入到viewDidLoad方法:

self.view.backgroundColor = [UIColor clearColor]; 

(并注意如果您尝试通过阿尔法属性通过属性检查器以降低透明度,它将使该视图-buttons,等一切都透明 - 这就是为什么它需要到b以编程方式完成。)

当然,它没有经过彻底测试。但现在它工作,这是一个美丽的事情。谢谢大家。

+0

不适用于iOS 7 .. – 2013-11-12 21:43:25