軟硬件環(huán)境
前言
前面學(xué)習(xí)iOS編程時(shí),畫UI控件的時(shí)候用的都是直接敲代碼的方式,基本都是先創(chuàng)建一個(gè)相應(yīng)控件的對(duì)象,然后設(shè)置對(duì)象屬性,最后添加相應(yīng)的事件響應(yīng)方法。那強(qiáng)大如Apple這樣的公司有沒有提供一種更方便、更易學(xué)的UI編寫方法呢?答案是肯定的。那就是今天本文的主角XIB。它是一種可視化的方法,極大地降低了學(xué)習(xí)iOS編程的門檻。
XIB實(shí)踐
創(chuàng)建一個(gè)名叫iOSXIBDemo的工程,打開工程info.plist文件,將Main storyboard file base name這個(gè)標(biāo)簽去掉,如下圖所示
創(chuàng)建一個(gè)iOS的Cocoa Touch類RootViewController,作為根視圖控制器,它繼承自UIViewController,并勾選上”Also create XIB file”選項(xiàng)
打開RootViewController.xib文件,從控件區(qū)中拖動(dòng)一個(gè)UILabel和一個(gè)UIButton,界面上的操作就是這么簡(jiǎn)單,那XIB怎么跟代碼同步呢?別著急,找到Xcode右上角的雙環(huán)標(biāo)記,單擊它
這樣在同一個(gè)畫面就能同時(shí)看到XIB和RootViewController.m了,接著開始進(jìn)行代碼同步。找到XIB中的UILable對(duì)象,同時(shí)按住Ctrl鍵 + 鼠標(biāo)左鍵,將光標(biāo)移動(dòng)到RootViewController.m中的@interface和@end之間放開,彈出對(duì)話框。這里Connection的類型,對(duì)于UILabel來說是選Outlet,而UIButton選的是Action。我的理解是的可以響應(yīng)事件的控件就選Action
綁定完成后,在對(duì)應(yīng)的代碼前會(huì)有個(gè)實(shí)心圓。在UIButton點(diǎn)擊響應(yīng)時(shí)間函數(shù)加句打印
- (IBAction)mButton:(id)sender { NSLog(@"button clicked.") ;}
接下來開始加載根視圖控制器,修改AppDelegate.m中的didFinishLaunchingWithOptions方法,同時(shí)需要將RootViewController.h頭文件import進(jìn)來
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds] ; RootViewController* root = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:[NSBundle mainBundle]] ; self.window.rootViewController = root; [self.window makeKeyAndVisible] ; return YES;}
最后代碼執(zhí)行的效果如下
源碼下載:http://xiazai.VeVB.COm/201701/yuanma/iOS-XIB_jb51.rar
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選