我正在爲我的應用程序創建主題,這是基於xml的,並將存儲在我的應用程序的主題文件夾中。我需要遍歷該文件並應用主題,即設置導航欄樣式,Tabbar樣式,字體等。對此,最好的解決方案是什麼?我有大約7-8個視圖控制器需要在應用程序啓動或viewdidload方法上應用該主題。任何建議都會很棒。iphone應用程序xml基於主題
我已經創建了xml解析器,它將任何xml轉換爲NSMutableDictionary。每個節點由以下類識別
@interface xmlObject : NSObject {
NSString *innerText;
NSMutableDictionary *children;
NSString *NodeName;
NSDictionary *attributes;
}
所以XML與結構
<navigationbar>
<backgroundcolor> <!-- rgb with values between 0-1 -->
<red>0.8</red>
<green>1.0</green>
<blue>0.5</blue>
<alpha>0.8</alpha>
</backgroundcolor>
<tintcolor> <!-- rgb with values between 0-1 -->
<red>0.8</red>
<green>1.0</green>
<blue>0.5</blue>
<alpha>0.8</alpha>
</tintcolor>
<backgroundimage></backgroundimage> <!-- png 320 * 44 -->
<color> <!-- rgb with values between 0-1 -->
<red>0.8</red>
<green>1.0</green>
<blue>0.5</blue>
<alpha>0.8</alpha>
</color>
</navigationbar>
將具有導航條通過的XmlObject方法返回NMUTAble字典對象的關鍵說parsexml
和將具有4個子節點的每個本身一個NSMUtableDictionary。所以,如果我想訪問和backgroundImage節點,則下面的代碼得到其數值
[[[[tmp objectForKey:@"navigationbar"] objectForKey:@"children"] objectForKey:@"backgroundimage"] objectForKey:@"innertext"]
//其中TMP是的NSMutableDictionary返回byxml OBJ實例方法。
什麼可能是最好的解決方案來解析包含每個屏幕樣式的XML,就像我在導航欄中顯示的樣式一樣?
感謝您的回覆。我試圖避免plist,因爲我已經解析xml到NSMutableDictionary。什麼可能是這樣的應用程序的設計。我應該創建導航欄,工具欄和tabbar的drawrect方法,並在那裏應用主題,或者我應該在viewdidload方法上做。我得到了NSMutableDictionary中的所有樣式。 – 2010-06-04 08:50:50