【发布时间】:2014-10-20 15:43:04
【问题描述】:
我想通过重命名图像名称机制来更改 UIImageview 中的图像。
由于我的项目中有很多 XIB,我需要在单击按钮时更改背景图像。基本上用户有主题 1 和主题 2 选项。
点击 theme-1 我需要在所有 xib 上的所有 imageview 上设置 bg_yellow.png 点击theme-2我需要在所有xib上的所有imageview上设置bg_red.png
这可以通过创建每个图像视图的引用并编写 if 条件来实现。但这是浪费时间和大量精力。
无论如何我可以在资源文件夹下的运行时重命名我的图像文件吗?
【问题讨论】:
-
为了实现你想要的,我建议使用不同的包。而且在设置主题之前,我建议销毁视图控制器,将数据保存在核心数据或 sqlite 中,然后再次从另一个包重新加载视图控制器 XIBS 和其他图像,并从核心 dat 或 sqlite db 重新加载数据。在我看来,这将是为您提供通用代码的最快方式,这样明天如果您需要添加另一个主题,您可以创建另一个包并加载它。
-
最好的方法是继承 UIImageView。创建具有主题属性的 MyThemedImageView 类。更改此属性必须导致图像更改。您可以通过通知更改此属性,也可以创建 UIView 子类 MyThemedView,以便它会自动更改其子视图的主题。
标签: ios ipad uiimageview