我应该在哪里放置我的应用程序广泛的用户界面定制

我应该在哪里放置我的应用程序广泛的用户界面定制

问题描述:

我有一个类,我已经创建了所有的工作来定制外观。该班级是UIAppearance代表。我应该在哪里放置我的应用程序广泛的用户界面定制

UI定制目前影响,

  1. 导航栏
  2. 搜索栏
  3. 标签栏

所有这些因素不会Views变化,因为我不能预见的情况下我对于其中任何一种可能都有不同的风格。

哪里以及如何将它放置在应用程序范围内,并且我不必从任何地方调用这些方法(一次调用来影响UI调整)?

  • 通过继承?
  • 是AppDelegate这个好人选吗?
  • 导入主题类和手动调用方法

是否有可能使这些自定义一个时间要求?

您可以在-applicationDidFinishLaunching中这样做。

UIKit类一样UINavigationBar给你一个外观代理当你的级呼叫appearance

[[UINavigationBar appearance] setTintColor:myColor];myColor作为tintColor所有的导航栏。

查看UIAppearance documentation了解更多详情。

+0

是的,我使用UIAppearance代理。我有背景图像对所有的人,我真的能做到他们'-applicationDidFinishLaunching'?那可能采取的**有问题的班级**不在图片中 – 2013-03-24 09:34:08

+0

是的,'applicationDidFinishLaunching'是正确的地方,每次启动应用程序时,您都希望此代码运行一次,此外,您可以自定义所有外观在一个地方 – mrueg 2013-03-24 10:08:58

+0

你是什么意思与类图片? – mrueg 2013-03-24 10:09:32

此链接有一些很好的资源,并在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]; 

它将返回导航栏的对象