我创建了一个类来完成自定义外观的所有工作。该班级是UIAppearance
代表。
UI自定义目前影响,
所有这些元素都不会随着Views
而变化,因为我无法预见到这种情况可能与其中任何一种都有不同的风格。
在哪里以及如何将它放在应用程序范围内,以便我不必从任何地方调用这些方法(一次性调用以影响UI调整)?
是否可以一次性调用这些自定义设置?
答案 0 :(得分:1)
您可以在-applicationDidFinishLaunching
中执行此操作。
当您在类上调用UINavigationBar
时,appearance
等UIKit类会为您提供外观代理:
[[UINavigationBar appearance] setTintColor:myColor];
将myColor
设置为所有导航栏的tintColor。
有关详细信息,请参阅UIAppearance documentation。
答案 1 :(得分:1)
此链接有一些很好的资源,以及UIKit自定义的示例。 http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-uikit-theme-customization/
他们也使用applicationDiDFinishLaunching。
答案 2 :(得分:1)
你可以使用像SharedManager这样的singleTon类,在其中创建所有这个对象,它将在你的应用程序中可用。
//步骤1:创建名为“SharedManager.h”的文件
#import <Foundation/Foundation.h>
@interface SharedManager : NSObject
{
UINavigationBar *navBar;
UISearchBar *searchBar;
}
@property (nonatomic, retain) UINavigationBar *navBar;
@property (nonatomic, retain) UISearchBar *searchBar;
+(SharedManager *)sharedInstance;
@end
//第2步:创建一个文件:“SharedManager.m”
#import "SharedManager.h"
static SharedManager *_sharedManager;
@implementation SharedManager
@synthesize navBar , searchBar;
+(SharedManager *)sharedInstance
{
if(_sharedManager == nil)
{
_sharedManager = [[SharedManager alloc] init];
// Create Navigation Bar
_sharedManager.navBar = [[UINavigationBar alloc] init];
// Create Search Bar
_sharedManager.searchBar = [[UISearchBar alloc] init];
}
return _sharedManager;
}
@end
//要访问该对象,请使用以下代码, #import“SharedManager.h”
[[SharedManager sharedInstance].navBar];
它将返回NavigationBar的对象