有多個(gè)Xib文件如何將iPone項(xiàng)目轉(zhuǎn)到iPad平臺(tái)
有多個(gè)Xib 文件如何將iPone項(xiàng)目轉(zhuǎn)到iPad平臺(tái)是本文要介紹的內(nèi)容,主要是是解決將iPone項(xiàng)目轉(zhuǎn)到iPad平臺(tái),如果有多個(gè)Xib文件,該怎么辦?來看本文如何來解決。
1、首先,不能把問題考慮復(fù)雜了,這個(gè)轉(zhuǎn)化其實(shí)很簡(jiǎn)單。
2、將iphone版本升級(jí)成universal版本, 方法不贅述。
3、在.plist里,應(yīng)該會(huì)有main nib file base name這個(gè)key,對(duì)應(yīng)MainWindow,就是iphone程序的入口;
同時(shí)會(huì)有main nib file base name(iPad)這項(xiàng),如果沒有,就自己建立個(gè),universal版本會(huì)多出來這項(xiàng),選擇它就是了),然后需要自己建立個(gè)xib文件,來作為iPad入口,比如說MainWindow-iPad
技巧:已經(jīng)有iPhone版的xib文件, 打開這個(gè)xib文件,然后file==>Create iPad version (using autosizing masks), 會(huì)自己生成一個(gè)iPad版本的 untile.xib的文件,然后另存為你自己的名字的iPad的xib就可以了。然后拖到并加入到你的項(xiàng)目里。
以上是解決程序入口的問題。
4、對(duì)于其他的xib文件,比如說AController.xib,
首先,用上面的技巧生成AController-iPad.xib并加入到你的項(xiàng)目里;
然后找到它對(duì)應(yīng)類文件AController.m,
- - (void)viewDidLoad
- {
- if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
- {
- [[NSBundlemainBundle] loadNibNamed:@"AController-iPad"owner:selfoptions:nil];
- }
- else
- {
- [[NSBundlemainBundle] loadNibNamed:@"AController"owner:selfoptions:nil];
- }
- [superviewDidLoad];
- //your other init code here
- }
加入紅色部分的code即可,那個(gè)loadNibNamed:根據(jù)具體的來改。
5、對(duì)于內(nèi)部的其他代碼,若iPhone與iPad版本有區(qū)別的話,繼續(xù)用好上面的if 判斷語句就可以了。
- if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
- {
- //iPad version code here
- }
- else
- {
- //iPhone/touch version code here
- }
6、強(qiáng)烈建議寫程序時(shí)候?qū)τ诳丶恢煤痛笮。瑒e用具體的數(shù)字, 而用size.weight, size.height這樣的寫法,或者單獨(dú)開個(gè)頭文件define出去,不然一個(gè)一個(gè)的改尺寸大小會(huì)很郁悶的。
iphone-->iPad的改動(dòng),難倒是不難,主要是要細(xì)心而已。
暫時(shí)只想到這么多了,以后再補(bǔ)充。
小結(jié):有多個(gè)Xib 文件如何將iPone項(xiàng)目轉(zhuǎn)到iPad平臺(tái)的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對(duì)你有所幫助!