gpt4 book ai didi

ios - 为整个 iOS 应用设置背景图片

转载 作者:可可西里 更新时间:2023-11-01 03:37:48 46 4
gpt4 key购买 nike

我尝试按照以下建议为整个应用设置背景图片:set background image for entire iPhone / iPad app

但在 iOS 7(不知道其他版本)中它根本不能正常工作。我创建了一个简单的存储库,以便您可以更好地了解正在发生的事情。转换中存在一些小问题。

当您点击第一个 View 中的一行时,第二个 View 会被推送到导航 Controller 中,但会出现奇怪的效果。行透明度似乎起到了这个作用。另一个问题是,当您返回到之前的 View Controller 时,从导航堆栈中弹出的 View Controller 有一个细微的阴影。正如我之前所说,您可以通过运行简单的 Xcode 项目来理解我的意思。

repo :https://github.com/socksz/FixedBackgroundImage

有什么想法吗?我已经尝试为每个 Controller 设置背景图像,但这不是我想要的,因为这样图像会“重叠”之前的背景图像,这不是预期的效果。

希望我解释得很好。

编辑 1

问题的出现似乎是因为 iOS 7 管理两个 View Controller 之间的转换的方式。在您处于第二个 View Controller 中并尝试使用滑动手势转向前一个 Controller 时,您可以看到,当您开始手势时,第一个 Controller 出现在第二个 Controller (您看到的 Controller )下方,并且由于 UITableViewCell 具有透明背景,您已经看到了第一个 Controller 。其实恐怕没有解决办法。很遗憾,如果不在每个 Controller 上设置背景图像,我就无法拥有固定的背景图像。

enter image description here

最佳答案

我在 iPhone 应用程序中要求根据用户的偏好设置页面的背景图像。我处理它的方式是添加一个 UIImageView 背景图像作为 View 的 subview ,就像这样 -

UIImageView *bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background-image"]];
bgImageView.frame = self.view.bounds;
[self.view addSubview:bgImageView];
[self.view sendSubviewToBack:bgImageView];

我克隆了你的 Github 存储库,并在两个 View Controller 的 viewDidLoad 中添加了上面的代码。我还在相同的方法中添加了以下代码行 -

self.tableView.opaque = NO;

我注释掉了 didFinishLaunchingWithOptions 中设置背景颜色的代码。通过这些更改,在 View Controller 之间导航时的工件消失了。我使用 iPhone Retina(3.5 英寸)和 iPhone Retina(4 英寸)模拟器进行了测试。

为什么在 Storyboard 中导航到 ViewController 时看到工件的原因需要一些调查。我的建议可能会或可能不会满足您的要求,但是,您可以尝试将此作为解决方案。

附言该方法需要对自动布局约束进行一些调整。

关于ios - 为整个 iOS 应用设置背景图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20339449/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com