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

 捕鱼达人2702938971 发布于 2023-02-13 12:44

我正在尝试按照以下建议为整个应用设置背景图片:为整个iPhone/iPad应用设置背景图片

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

当您在第一个视图中点击一行时,第二个视图将被推入导航控制器,但是有一个奇怪的效果.似乎行透明度起到了这个作用.另一个问题是,当你回到前一个视图控制器时,会从导航堆栈中弹出一个视图控制器的微妙阴影.正如我之前所说,你可以通过运行简单的Xcode项目得到我的意思.

回复:https://github.com/socksz/FixedBackgroundImage

有任何想法吗?我已经尝试设置每个控制器的背景图像,但它不是我想要的,因为那样的图像"重叠"以前的背景图片,这不是预期的效果.

希望我解释得很好.

编辑1

似乎问题出现是因为iOS 7管理两个视图控制器之间的转换的方式.你在第二个视图控制器中并尝试使用滑动手势转向上一个控制器,你可以看到,当你开始手势时,第一个控制器出现在第二个控制器(你正在看到的控制器)下面,并且,因为UITableViewCells有透明背景,你已经看到第一个控制器.其实我担心没有解决方案.遗憾的是,如果不在每个控制器上设置背景图像,我就无法获得固定的背景图像.

在此输入图像描述

1 个回答
  • 我在iPhone应用程序中要求根据用户的偏好设置页面的背景图像.我处理它的方法是添加一个UIImageView背景图像作为视图的子视图,就像这样 -

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

    我克隆了你的Github存储库,并在viewDidLoad两个视图控制器中添加了上面的代码.我还在同一方法中添加了以下代码行 -

    self.tableView.opaque = NO;
    

    didFinishLaunchingWithOptions在您设置背景颜色的位置注释掉了代码.通过这些更改,在视图控制器之间导航时的工件消失了.我测试了iPhone Retina(3.5英寸)以及iPhone Retina(4英寸)模拟器.

    在导航到ViewController故事板和从故事板导航时看到伪影的原因需要进行一些调查.我的建议可能适用于您的要求,也可能不适用,但是,您可以尝试将其作为解决方案.

    PS该方法需要一些调整来自动布局约束.

    2023-02-13 12:46 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有