成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone開發中關于Nib文件講解

移動開發 iOS
本文介紹的是iPhone開發中關于Nib文件講解,主要解決iphone應用中的nib文件,來看詳細內容。

iPhone開發中關于Nib文件講解是本文要介紹的內容,不多說,來看詳細內容。一個簡單的iPhone項目及代碼,不用Interface Builder開發iPhone程序,一個細微的差別 loadNibNamed:owner:options:

用過delphi的童鞋應該比較清楚frm文件,就是用鼠標拖拖拉拉,就能設計好的那個窗體所生成的文件。

在使用xcode進行開發時,也用了同樣的形式,把復雜的頁面通過簡單的拖拉以及屬性設置來設計出來,然后序列化到Nib文件里,等程序運行的時候,加載進來就可以了。

xcode進行窗體開發時,有兩種形式把Nib文件反序列化。

一種是通過設置view controller的NIB File屬性。

另外一種便是通過initWithNibName方法。

第二種其實沒什么好說的,就是讀取nib文件,加載,反序列化,生成實例,顯示。

對于***種,有些地方做的有些蹊蹺,百思不得其解。

假設要為主窗體Window添加一個View,xcode中現有View-based模板的做法是,先創建一個帶Nib文件(假設為MyViewController.xib)的UIViewController自定義子類(假設為MyViewController.m)。

然后把MainWindow.xib中的View Controller實例的class name設為這個自定義子類MyViewController,并指定NIB File為剛才創建的Nib文件(MyViewController.xib)。

但是經過測試,其實只要設定了class,不指定NIB File也是可以的。

當然如果在delegate里使用viewController的超類UIViewController來定義property的話(這樣做的目的是能把MainWindow.xib中的View Controller的插頭,插到delegate里的插座上),也可以只指定NIB File來實現加載。

但是如果把class name和NIB File設成各自不關聯的類和nib文件會怎樣呢?

答案是以NIB File為主。

比如說,我們設定delegate的property為UIViewController。

但是可以指定MainWindow.xib中View Controller的class為MyViewController1(其對應Nib文件為MyViewController1.xib)

但是我們設定這個View Controller的NIB File為MyViewController2.xib(其File Owner為MyViewController2.m),那么實際加載進來的是MyViewController2.xib里的View。

在設計MainWindow.xib中View Controller的時候,除了加載其他的Nib文件外,也可以直接設計其View,也就是說不需要另外的nib文件,直接在MainWindow.xib進行設計。當兩者同時進行的時候,以MainWindow.xib中設計的窗體為主,也就是說即使load了其他Nib文件,也不會呈現出來。

對于有潔癖,或者有重度自我強迫癥的人來說,是不需要這種快餐式的設計的。

那就是拋棄一切Nib文件,所有的窗體設計都在代碼中完成。

改造Window-Based模板,

1.從project中刪除MainWindow.xib文件

2.從Info.plist中,刪除Main nib file base name項

3.編輯main.m

把這句Java代碼 

  1. int retVal = UIApplicationMain(argc, argv, nil, nil);    
  2. int retVal = UIApplicationMain(argc, argv, nil, nil); 

改為Java代碼 

  1. int retVal = UIApplicationMain(argc, argv, nil, @"___PROJECTNAMEASIDENTIFIER___AppDelegate");    
  2.  
  3. int retVal = UIApplicationMain(argc, argv, nil, @"___PROJECTNAMEASIDENTIFIER___AppDelegate"); 

4.編輯___PROJECTNAMEASIDENTIFIER___AppDelegate.m

把方法 Java代碼 

  1. - (void)applicationDidFinishLaunching:(UIApplication *)application {         
  2.     
  3.     // Override point for customization after application launch     
  4.     [window makeKeyAndVisible];     
  5. }    
  6.  
  7. - (void)applicationDidFinishLaunching:(UIApplication *)application {      
  8.  
  9.     // Override point for customization after application launch  
  10.     [window makeKeyAndVisible];  

改為Java代碼 

  1. - (void)applicationDidFinishLaunching:(UIApplication *)application {     
  2.     UIWindow *wd = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];     
  3.     self.window = wd;     
  4.     [wd release];     
  5.     [window makeKeyAndVisible];     
  6.     
  7. }    
  8.  
  9. - (void)applicationDidFinishLaunching:(UIApplication *)application {  
  10.     UIWindow *wd = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];  
  11.     self.window = wd;  
  12.     [wd release];  
  13.     [window makeKeyAndVisible];  
  14.  

當然,不改寫模板程序,使用window-based模板生成框架后,按照上述方法改寫程序也是可以的。 

小結:iPhone開發中關于Nib文件講解的內容介紹完了,希望本文對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-08-22 11:49:20

iPhone文件系統NSFileManag

2011-08-15 09:58:25

iPhoneXib文件UITableView

2011-08-09 17:12:30

iPhoneCFRunLoop

2011-08-22 14:21:24

iPhone開發UIView Anim

2011-08-15 13:44:07

iPhone開發UITableView

2011-08-22 15:15:49

iPhone開發NSMutableAr排序

2011-08-08 14:07:49

iPhone開發 字體

2011-08-16 18:56:11

iPhone開發Three20

2011-08-22 13:46:15

iPhone開發GameKit 藍牙

2011-08-12 14:33:06

iPhone緩存文件

2011-07-06 17:40:43

iPhone SDK

2011-07-19 15:33:57

iPhone

2011-08-18 10:39:46

iPhone開發界面

2011-08-19 10:35:19

iPhone應用Three20

2011-08-17 14:32:44

iOS開發繪制

2011-08-10 10:23:20

iPhoneArchivingNSCoder

2011-08-05 10:13:45

iPhone開發工具 Cocoa Xcode

2011-08-12 10:09:23

iPhone開發多線程

2011-08-09 14:42:07

iPhonePCM播放器

2009-11-04 08:38:30

ADO.NET庫文件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 四色永久 | 91免费福利视频 | 欧美成人免费 | 一级视频在线免费观看 | 国产成人免费视频 | 午夜视频网站 | 天堂在线www | 日日射影院 | 91精品国产色综合久久 | 中文字幕亚洲视频 | 成人a网| 国产亚洲网站 | 欧美在线观看一区 | 国产成人精品一区二区三区四区 | 欧美 中文字幕 | 国产精品免费在线 | 日本特黄a级高清免费大片 成年人黄色小视频 | 久久精品视频一区二区 | 欧美日韩一区在线播放 | 一级午夜aaa免费看三区 | 亚洲狠狠 | 亚洲日本欧美日韩高观看 | 日本小电影网站 | 在线观看三级av | 免费国产视频 | 久久久精品一区二区 | 成人黄色a | 一区二区三区视频在线观看 | 成人国产一区二区三区精品麻豆 | 久久精品黄色 | 日韩有码在线播放 | 国产乡下妇女做爰 | 久久久久久久久99精品 | 狠狠伊人| 福利视频大全 | 久久久国产一区二区三区 | 欧美黑人一级爽快片淫片高清 | 97国产精品视频 | 亭亭五月激情 | 日韩一二区在线观看 | 国产日韩精品在线 |