Objective c 为应用程序中的所有UI按钮设置默认色调

Objective c 为应用程序中的所有UI按钮设置默认色调,objective-c,cocoa-touch,Objective C,Cocoa Touch,我的iPad应用程序I有许多ui按钮,按下这些按钮时默认会变成蓝色。我可以检查每一个并使用以下方法设置颜色: [buttonName setTintColor:[UIColor colorWithRed:151/255.0f green:202/255.0f blue:86/255.0f alpha:1.0]]; 但是,在默认情况下,所有按钮是否都可以更改此颜色 是否有更改此颜色的方法?您可以将uibutton子类化,并将颜色设置为您想要的任何颜色。然后,具有该类的任何按钮将具有相同的颜色使用

我的iPad应用程序I有许多ui按钮,按下这些按钮时默认会变成蓝色。我可以检查每一个并使用以下方法设置颜色:

[buttonName setTintColor:[UIColor colorWithRed:151/255.0f green:202/255.0f blue:86/255.0f alpha:1.0]];
但是,在默认情况下,所有按钮是否都可以更改此颜色


是否有更改此颜色的方法?

您可以将uibutton子类化,并将颜色设置为您想要的任何颜色。然后,具有该类的任何按钮将具有相同的颜色

使用UIAppearance协议:

 [[UIButton appearance] setTintColor:[UIColor colorWithRed:151/255.0f green:202/255.0f blue:86/255.0f alpha:1.0]]; 

如果您使用的是情节提要和Xcode 5.0或更高版本,最简单的方法是在Xcode中打开情节提要,并在实用程序区域的文件检查器中设置全局着色颜色设置。见下图


看看感谢信-这看起来很完美。我是否更改UIAppearance.h文件?或者我应该把默认色调的线放在其他地方吗?即使UI外观是首选,我发现通过将项目切换到iOS 7,外观变化很大,看起来与设计完全不同。因此,除此之外,我还将尝试按照建议进行子类化,如果您选择UIAppearance,我还建议使用iOS 7测试应用程序。此外,如果您更改外观,您将更改应用程序中的所有按钮,无法应用于受限集。@RichardGriffiths当然您不会更改协议的标题,该标题无论如何都应锁定以进行编辑。看,这似乎写得很好。正如我上面的评论-我是否改变了外观。h?我已经看过了,但它说它被锁定了。不,您不必更改任何头文件,只需将这一行放在AppDelegate didFinishLaunchingWithOptions方法中。您不(也不能)直接编辑外观.h,因为它是iOS SDK的一部分。您需要将peko建议的代码添加到您的一个文件中。可能是在一个用这种方式设计应用程序的课堂上。我真的很感谢大家的帮助。所以我的问题是,我应该把它放在哪里?在AppDelegate.m中?是的,应该有一个名为application:didFinishLaunchingWithOptions:的方法,将其放在这里,仅更改颜色的子类化通常不是一个好主意。如何在Xcode 12上执行此操作,它不会显示全局色调?