更改所有应用配色方案

     2023-03-13     223

关键词:

【中文标题】更改所有应用配色方案【英文标题】:Change all the app color scheme 【发布时间】:2015-02-07 23:45:14 【问题描述】:

所以,我有一个 HomeViewController(图 1),有两个按钮,一个是白色的,一个是蓝色的。在右下角,您可以看到一个以模态方式呈现 SettingsViewController 的按钮(图 2),在此视图控制器上,有 4 个按钮,因此用户可以选择他们喜欢的配色方案。想象一下,当用户按下第一个(红色)时,当关闭视图控制器时,HomeViewController 的配色方案应该如图 3 所示。

关于如何以高效/简单的方式做到这一点的任何想法?

【问题讨论】:

您可以将所选颜色存储在UIColor 变量中,并将按钮的颜色设置为该变量。 【参考方案1】:

有两种很好的方法可以做到这一点:1)委派,2)viewWillAppear:

对于委派,您需要定义一个协议。您的HomeViewController 将成为此协议的delegate,您的SettingsViewController 将调用它。

//SettingsViewController.h

@protocol SettingsDelegate <NSObject>
@required
-(void)colorChanged:(UIColor *)color;
@end

@interface SettingsViewController : UIViewController

@property (nonatomic, weak) id<SettingsDelegate> delegate;

@end

设置视图控制器时,请确保将self.delegate 设置为等于对HomeViewController 的引用。 这是必须的。

然后,当您的用户更改颜色时,调用:

[self.delegate colorChanged:whateverColor];

您的委托显然必须遵守此方法,并适当更改颜色:

-(void)colorChanged:(UIColor *)color 

    [myButton setBackgroundColor:color];

对于viewWillAppear:,只需将颜色保存在某处并为此在视图控制器的方法中设置按钮的颜色。当您的设置视图即将消失并显示主视图控制器时,viewWillAppear: 将被调用:

-(void)viewWillAppear:(BOOL)animated 

    [super viewWillAppear:animated];

    [myButton setBackgroundColor:mySavedColor];

【讨论】:

我使用协议完成了它,尽管我必须阅读更多关于委托和协议的内容,因为即使它有效,我也不知道到底发生了什么。起初我尝试使用 viewWillAppear 方法,但是如何从 SettingsViewController 设置 mySavedColor(in HomeViewController) 变量? @iDeC 是的,一定要详细了解它并了解它的工作原理。您必须将mySavedColor 保存在某处(请参阅this question),然后在viewWillAppear: 中检索它。【参考方案2】:
In HomeViewController
On SettigButton Click
 
   Pass the HomeViewController delegate object SettingsViewController 
   Present your color Picker SettingsViewController 

 

In SettingsViewController
 Define protocol name SettingsViewControllerDelegate 
   
    -(void)selectedColor:(UIColor*)color;
   

  return the selected color On dismissViewController
  if(delegate)
    
     [delegate selectedColor:color];
    


Again In HomeViewController
 -(void)selectedColor:(UIColor*)color

  view.backgroundColor=color;


【讨论】:

使用 pyinstaller 或 fbs 冻结应用程序会更改 pyside2 应用程序的默认配色方案

】使用pyinstaller或fbs冻结应用程序会更改pyside2应用程序的默认配色方案【英文标题】:Freezingappwithpyinstallerorfbschangesdefaultcolorschemeofpyside2app【发布时间】:2019-07-2402:18:06【问题描述】:MacOSPySide25.12.3我使用fbs和pyside2构建了一个GUI... 查看详情

更改 Gentelella 配色方案

】更改Gentelella配色方案【英文标题】:ChangeGentelellacolorscheme【发布时间】:2017-12-0516:23:19【问题描述】:谁能帮我改变Gentelella配色方案。特别是侧边栏,我需要在我的CSS中包含哪些类。谢谢。【问题讨论】:查看此链接github.com... 查看详情

Plotly:如何更改 3D 曲面图的配色方案?

】Plotly:如何更改3D曲面图的配色方案?【英文标题】:Plotly:Howtochangethecolourschemeofa3Dsurfaceplot?【发布时间】:2021-05-0816:58:42【问题描述】:我想在plotlypython中更改3D曲面图的配色方案。Plotly默认分配配色方案,如下图所示。这是... 查看详情

更改 Bootstrap 的配色方案

】更改Bootstrap的配色方案【英文标题】:ChangeBootstrap\'sColorScheme【发布时间】:2017-10-3004:06:13【问题描述】:几年前,当我第一次遇到Bootstrap时,当它仍然自称为TwitterBootstrap时,我搜索了如何为它着色,更改了默认的白色/蓝色... 查看详情

如何根据设备主题更改collectionview单元格颜色(按照我的配色方案)

】如何根据设备主题更改collectionview单元格颜色(按照我的配色方案)【英文标题】:Howtochangecollectionviewcellscolorbasedondevicetheme(followingmycolorscheme)【发布时间】:2020-10-2815:27:08【问题描述】:概述:我正在使用集合视图构建键盘... 查看详情

获取其他元素的 Angular Material 主题配色方案/调色板

...用程序,但我想保持一致的配色方案,可以通过设置进行更改,所以我使用Angular-Material,但我不确定如何在不直接的元素上获取配色方案提供使用color=& 查看详情

xshell可以为选中字体添加颜色吗

...不喜欢可以换颜色吗?其实xshell可在使用过程中随时选择/更改配色方案,且能立即适用选定的配色方案。所以下面小编就为大家详细介绍xshell设置字体和背景颜色的使用教程,具体请看下文!  xshell设置字体和背景颜色操作步骤... 查看详情

emeditor配色方案

配色方案导入菜单栏-->工具-->所有配置属性-->显示-->主题右侧">"符号-->然后选择导入-->出现提示的时候选择否,要不然就会清空默认的配色方案。如果你不小心点了是的话,再点>然后使用下面的全部重置即可... 查看详情

如何使用 React 使 Web 应用程序配色方案可变?

】如何使用React使Web应用程序配色方案可变?【英文标题】:Howmakewebapplicationcolorschemechangeableusingreact?【发布时间】:2017-03-2314:35:08【问题描述】:假设我们有一个使用react-bootstrap开发的reactWeb应用程序。此应用程序必须使用颜色... 查看详情

visualstudio主题与配色方案

...用属于的主题和配色方案,它们可以看出开发者的个性,更改它们可以缓解审美疲劳,总之选择一个适合自己的解决方案可能极大的增加自己的编码舒适度。配色方案的选择和使用手动修改VisualStudio字体和颜色来现实属于自己的... 查看详情

iOS 应用的配色方案 - UIView 和 UIAppearance - 设置背景颜色

】iOS应用的配色方案-UIView和UIAppearance-设置背景颜色【英文标题】:ColourSchemeforaniOSApp-UIViewandUIAppearance-SettingtheBackgroundColour【发布时间】:2015-07-1915:59:48【问题描述】:我一直在研究如何为iOS应用创建配色方案。从故事板开始并... 查看详情

更改putty的配色

Win7下的Putty默认配色治好了我多年的斗鸡眼更改配色方案,按顺序执行以下步骤:1.打开注册表regedit,找到子键:HKEY_CURRENT_USERSoftwareSimonTathamPuTTYSessions你的远程机器名称例如  2.导出机器的注册表配置3.更改导出的注册表中的Col... 查看详情

如何使免疫调试器配色方案看起来像 OllyDbg 配色方案?

...lyDbg。这是默认Olly的外观:这是默认免疫调试器的外观:更改配色方案中的任何内容似乎都没有效果。如何 查看详情

ReSharper C++ 中的配色方案混乱

...试重新安装它,从注册表中删除VC12_Config键并修改“扩展更改文件”。如果我暂停ReSharper,我的配色方案会切换回默认的深色皮肤(我想要的)。这是它的样子:Re 查看详情

xshell如何设置字体和背景色颜色?

... xshell设置字体和背景颜色操作步骤如下:  一、如何更改终端色:  方法主要有两种  1)点击标准按钮的“配色方案”即出现配色方案选择对话框。在对话框中选择配色方案后点击“确定”。  2)在会话属性对话框的“... 查看详情

vimrc 配色方案不改变背景

...问题被问了很多,但答案对我没有帮助。当我将颜色方案更改为onedark时,背景没有正确更改,它应该更暗,但事实并非如此。我拥有的vim:它应该是什么样子:有人知道会发生什么吗?对于上下文this是颜色方案,这是我的vimrc... 查看详情

更改所有 Windows 窗体窗体上的设置

】更改所有Windows窗体窗体上的设置【英文标题】:ChangesettingsonallWindowsFormsforms【发布时间】:2013-10-2016:05:07【问题描述】:我已更改我的app.config文件以允许用户更改程序的配色方案。我可以弄清楚如何更改他们更改这些设置的... 查看详情

Java Swing 模块化配色方案

...),我想设置我自己的自定义配色方案来绘制颜色,以便所有颜色定义都在一个地方。为此,我决定创建一个名为ColorPalette的伪静态***类(来自https://***.com/a/74861 查看详情