軟硬件環境
macOS Sierra Xcode 8.2.1前言
後面學習IOS編程時,畫UI控件的時分用的都是直接敲代碼的方式,根本都是先創立一個相應控件的對象,然後設置對象屬性,最後添加相應的事情呼應辦法。那弱小如Apple這樣的公司有沒有提供一種更方便、更易學的UI編寫辦法呢?答案是一定的。那就是明天本文的配角XIB。它是一種可視化的辦法,極大地降低了學習IOS編程的門檻。
XIB理論
創立一個名叫IOSXIBDemo的工程,翻開工程info.plist文件,將Main storyboard file base name這個標簽去掉,如下圖所示
創立一個iOS的Cocoa Touch類RootViewController,作為根視圖控制器,它承繼自UIViewController,並勾選上”Also create XIB file”選項
翻開RootViewController.xib文件,從控件區中拖動一個UILabel和一個UIButton,界面上的操作就是這麼復雜,那XIB怎樣跟代碼同步呢?別焦急,找到Xcode右上角的雙環標志,單擊它
這樣在同一個畫面就能同時看到XIB和RootViewController.m了,接著開端停止代碼同步。找到XIB中的UILable對象,同時按住Ctrl鍵 + 鼠標左鍵,將光標挪動到RootViewController.m中的@interface和@end之間放開,彈出對話框。這裡Connection的類型,關於UILabel來說是選Outlet,而UIButton選的是Action。我的了解是的可以呼應事情的控件就選Action
綁定完成後,在對應的代碼前會有個實心圓。在UIButton點擊呼應時間函數加句打印
- (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; }
最後代碼執行的效果如下
源碼下載:http://xiazai.jb51.net/201701/yuanma/iOS-XIB_jb51.rar
以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支持本站。
【iOS自學筆記之XIB的運用教程】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!