iOS自學(xué)筆記之XIB的使用教程
軟硬件環(huán)境
- macOS Sierra
- Xcode 8.2.1
前言
前面學(xué)習(xí)iOS編程時,畫UI控件的時候用的都是直接敲代碼的方式,基本都是先創(chuàng)建一個相應(yīng)控件的對象,然后設(shè)置對象屬性,最后添加相應(yīng)的事件響應(yīng)方法。那強大如Apple這樣的公司有沒有提供一種更方便、更易學(xué)的UI編寫方法呢?答案是肯定的。那就是今天本文的主角XIB。它是一種可視化的方法,極大地降低了學(xué)習(xí)iOS編程的門檻。
XIB實踐
創(chuàng)建一個名叫iOSXIBDemo的工程,打開工程info.plist文件,將Main storyboard file base name這個標簽去掉,如下圖所示
創(chuàng)建一個iOS的Cocoa Touch類RootViewController,作為根視圖控制器,它繼承自UIViewController,并勾選上”Also create XIB file”選項
打開RootViewController.xib文件,從控件區(qū)中拖動一個UILabel和一個UIButton,界面上的操作就是這么簡單,那XIB怎么跟代碼同步呢?別著急,找到Xcode右上角的雙環(huán)標記,單擊它
這樣在同一個畫面就能同時看到XIB和RootViewController.m了,接著開始進行代碼同步。找到XIB中的UILable對象,同時按住Ctrl鍵 + 鼠標左鍵,將光標移動到RootViewController.m中的@interface和@end之間放開,彈出對話框。這里Connection的類型,對于UILabel來說是選Outlet,而UIButton選的是Action。我的理解是的可以響應(yīng)事件的控件就選Action
綁定完成后,在對應(yīng)的代碼前會有個實心圓。在UIButton點擊響應(yīng)時間函數(shù)加句打印
- (IBAction)mButton:(id)sender { NSLog(@"button clicked.") ; }
接下來開始加載根視圖控制器,修改AppDelegate.m中的didFinishLaunchingWithOptions方法,同時需要將RootViewController.h頭文件import進來
- (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.jb51.net/201701/yuanma/iOS-XIB_jb51.rar
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ios開發(fā)Flutter構(gòu)建todo?list應(yīng)用
這篇文章主要為大家介紹了ios開發(fā)Flutter構(gòu)建todo?list應(yīng)用實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09iOS微信瀏覽器回退不刷新實例(監(jiān)聽瀏覽器回退事件)
下面小編就為大家?guī)硪黄猧OS微信瀏覽器回退不刷新實例(監(jiān)聽瀏覽器回退事件)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05