2013-03-24 33 views
0

我有一個類,我已經創建了所有的工作來定製外觀。該班級是UIAppearance代表。我應該在哪裏放置我的應用程序廣泛的用戶界面定製

UI定製目前影響,

  1. 導航欄
  2. 搜索欄
  3. 標籤欄

所有這些因素不會Views變化,因爲我不能預見的情況下我對於其中任何一種可能都有不同的風格。

哪裏以及如何將它放置在應用程序範圍內,並且我不必從任何地方調用這些方法(一次調用來影響UI調整)?

  • 通過繼承?
  • 是AppDelegate這個好人選嗎?
  • 導入主題類和手動調用方法

是否有可能使這些自定義一個時間要求?

回答

1

您可以在-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

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]; 

它將返回導航欄的對象

相關問題