一.項目文件
導(dǎo)航視圖
我們從上到下看看這些文件是干嘛的拄丰。
- Hello World
這是第一個文件夾,以項目名來命名俐末,許多工作都要在這個文件夾中完成。它包含了應(yīng)用的大部分代碼以及用戶界面文件夾奄侠,我們可以在這個文件夾下創(chuàng)建任意個子文件夾卓箫,甚至可以使用其他分組代替這個默認的文件夾,從而更好地組織代碼垄潮。
其中烹卒,里面的Main.storyboard包含了項目主視圖控制器用到的用戶界面元素。 - Hello WorldTests
包含項目中必需的源代碼文件和資源文件弯洗。
Info.plist:包含了應(yīng)用程序的重要信息旅急,例如名稱,對運行的設(shè)備規(guī)格是否有要求牡整,等等藐吮。
main.m:通常不需要編輯或者修改。 - Hello WorldUITests
用于編寫一些單元測試代碼,文件夾內(nèi)包含了所需的初始化文件谣辞。 - Products:包含構(gòu)建項目時生成的應(yīng)用迫摔。Hello World.app即這個項目構(gòu)建的文件,為紅色即這個文件不存在泥从。
二.Interface
StoryBoard里面有View Controller(視圖控制器)句占、First Responder(第一響應(yīng)者)和Exit。
- 視圖控制器代表一個控制器對象躯嫉,會從文件中加載控制器以及相關(guān)的視圖纱烘。它的任務(wù)是管理用戶在屏幕上看到的內(nèi)容。一個應(yīng)用程序通常有多個視圖控制器祈餐,每個界面各一個凹炸。也可以編寫僅有一個界面的應(yīng)用程序,這樣就僅有一個視圖控制器昼弟。
- 第一響應(yīng)者即用戶當(dāng)前正在交互的對象啤它。如果用戶正在向一個文本框輸入數(shù)據(jù),則該文本框就是當(dāng)前的第一響應(yīng)者舱痘。他會隨著用戶與用戶界面的交互而變化变骡,不需要編寫代碼來判斷哪個控件(或視圖)是第一響應(yīng)者。
三.資源庫
包含了4個部分:
- 文件模板庫:包含一些文件模板芭逝,可以通過它們向項目中添加新文件塌碌。
- 代碼片段庫:包含一些代碼片段,可以直接把它們拖到源代碼中使用旬盯。
- 對象庫:包括各種可重用對象台妆,如文本框、標(biāo)簽胖翰、滑塊接剩、按鈕等用來設(shè)計iOS界面的對象。
- 媒體庫:包含用戶的所有媒體文件萨咳,有圖片懊缺、聲音以及影片文件等。
-
底部搜索框:可以搜索任何想要的控件
資源庫的四個部分
四.添加標(biāo)簽
將label直接拖動到View Controller中央培他。
這樣就完成了我們的Hello World啦鹃两!
五.交互
在ViewController.h中,我們需要定義一個Button:
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIButton *myButton;
- (IBAction) doSomething;
- (IBAction) doSomething: (id)sender;
@end
其中舀凛,sender的作用是獲得觸發(fā)該方法的對象俊扳。
打開Assistant Editor
首先,在storyboard里面新建left和right的button控件猛遍,右鍵至ViewController.h當(dāng)中馋记,即可新建一個按鍵控件類号坡。然后再右鍵至doSomething方法中,表明這個按鍵和該方法建立了連接抗果。
在ViewController.m里聲明實現(xiàn)方法筋帖。
- (IBAction) doSomething:(id)sender
{
//獲得控件的名稱
NSString *title = [sender titleForState: UIControlStateNormal];
//label要顯示的內(nèi)容
NSString *plainText = [NSString stringWithFormat: @"%@ button pressed.", title];
_stausLabel.text = plainText;
}
2.限制布局
我們用右鍵,從View拖到對應(yīng)的子控件去控制其約束冤馏。
選中對應(yīng)的子控件后日麸,點擊相應(yīng)的方法,Horizontally即水平居中逮光,Vertically即垂直居中代箭。
隨后調(diào)整該控件到頂部的距離。
同理涕刚,兩個按鈕也是這樣搞嗡综。可以看到布局就這樣搞定了杜漠!
結(jié)果展示