軟硬件環(huán)境
- macos sierra
- xcode 8.2.1
前言
前面學(xué)習(xí)ios編程時,畫ui控件的時候用的都是直接敲代碼的方式,基本都是先創(chuàng)建一個相應(yīng)控件的對象,然后設(shè)置對象屬性,最后添加相應(yīng)的事件響應(yīng)方法。那強(qiáng)大如apple這樣的公司有沒有提供一種更方便、更易學(xué)的ui編寫方法呢?答案是肯定的。那就是今天本文的主角xib。它是一種可視化的方法,極大地降低了學(xué)習(xí)ios編程的門檻。
xib實踐
創(chuàng)建一個名叫iosxibdemo的工程,打開工程info.plist文件,將main storyboard file base name這個標(biāo)簽去掉,如下圖所示
創(chuàng)建一個ios的cocoa touch類rootviewcontroller,作為根視圖控制器,它繼承自uiviewcontroller,并勾選上”also create xib file”選項
打開rootviewcontroller.xib文件,從控件區(qū)中拖動一個uilabel和一個uibutton,界面上的操作就是這么簡單,那xib怎么跟代碼同步呢?別著急,找到xcode右上角的雙環(huán)標(biāo)記,單擊它
這樣在同一個畫面就能同時看到xib和rootviewcontroller.m了,接著開始進(jìn)行代碼同步。找到xib中的uilable對象,同時按住ctrl鍵 + 鼠標(biāo)左鍵,將光標(biāo)移動到rootviewcontroller.m中的@interface和@end之間放開,彈出對話框。這里connection的類型,對于uilabel來說是選outlet,而uibutton選的是action。我的理解是的可以響應(yīng)事件的控件就選action
綁定完成后,在對應(yīng)的代碼前會有個實心圓。在uibutton點擊響應(yīng)時間函數(shù)加句打印
1
2
3
|
- (ibaction)mbutton:(id)sender { nslog(@ "button clicked." ) ; } |
接下來開始加載根視圖控制器,修改appdelegate.m中的didfinishlaunchingwithoptions方法,同時需要將rootviewcontroller.h頭文件import進(jìn)來
1
2
3
4
5
6
7
8
9
10
11
12
13
|
- ( 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í)行的效果如下
源碼下載:ios-xib.rar
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://blog.csdn.net/djstavav/article/details/53915146