我应该在哪里放置我的应用程序广泛的用户界面定制
问题描述:
我有一个类,我已经创建了所有的工作来定制外观。该班级是UIAppearance
代表。我应该在哪里放置我的应用程序广泛的用户界面定制
UI定制目前影响,
- 导航栏
- 搜索栏
- 标签栏
所有这些因素不会Views
变化,因为我不能预见的情况下我对于其中任何一种可能都有不同的风格。
哪里以及如何将它放置在应用程序范围内,并且我不必从任何地方调用这些方法(一次调用来影响UI调整)?
- 通过继承?
- 是AppDelegate这个好人选吗?
- 导入主题类和手动调用方法
是否有可能使这些自定义一个时间要求?
答
您可以在-applicationDidFinishLaunching
中这样做。
UIKit类一样UINavigationBar
给你一个外观代理当你的级呼叫appearance
:
[[UINavigationBar appearance] setTintColor:myColor];
套myColor
作为tintColor所有的导航栏。
查看UIAppearance documentation了解更多详情。
答
此链接有一些很好的资源,并在UIKit自定义的例子。 http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-uikit-theme-customization/
他们也使用applicationDiDFinishLaunching。
答
你可以像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];
它将返回导航栏的对象
是的,我使用UIAppearance代理。我有背景图像对所有的人,我真的能做到他们'-applicationDidFinishLaunching'?那可能采取的**有问题的班级**不在图片中 – 2013-03-24 09:34:08
是的,'applicationDidFinishLaunching'是正确的地方,每次启动应用程序时,您都希望此代码运行一次,此外,您可以自定义所有外观在一个地方 – mrueg 2013-03-24 10:08:58
你是什么意思与类图片? – mrueg 2013-03-24 10:09:32