IOS開發第四天 UI相關元件

2021-07-30 13:44:08 字數 4142 閱讀 9132

uibutton:

uibutton只能用類方法來獲得物件,而不是利用init來初始化,由於其自身維護。uibutton的建立方式:

//獲得uibutton物件

uibutton* btn=[uibutton buttonwithtype:uibuttontyperoundedrect];

//設定button的位置以及大小;

btn.frame=cgrectmake(100, 100, 100, 40);

[btn settitle:@"按鈕1" forstate:uicontrolstatenormal]; //設定按鈕在不同狀態的title

[btn settitle:@"按鈕按下" forstate:uicontrolstatehighlighted];

btn.backgroundcolor=[uicolor blackcolor]; //設定按鈕的背景色

[self.view addsubview:btn]; //將按鈕加在view上

[btn settitlecolor:[uicolor redcolor] forstate:uicontrolstatenormal]; //設定按鈕的顏色

[btn settitlecolor:[uicolor bluecolor] forstate:uicontrolstatehighlighted];

btn.titlelabel.font=[uifont systemfontofsize:20]; //設定title的字型大小

為按鈕繫結事件:

[btn addtarget:self action:@selector(pressbtn) forcontrolevents:uicontroleventtouchdown];

[btn addtarget:self action:@selector(move) forcontrolevents:uicontroleventtouchupoutside];

target:標識由哪個物件來處理;

action:由目標中的哪個函式來處理;

forcontrolevents:指的是處理的是哪個事件。

利用@selector來獲得sel物件,來實現按鈕的相應函式。如果想在相應函式中傳入引數,那麼可以按下面的形式寫:

[btn addtarget:self action:@selector(move:) forcontrolevents:uicontroleventtouchupoutside];
然後,move的函式定義為:

-(void) move:(uibutton*) btn
傳入的引數是本uibutton的物件。利用此引數,可以知道是哪個按鈕按下的,也就是可以區分是哪個事件源觸發的事件。

可以利用btn.tag=1;來標識按鈕的標籤。

uiview基礎概念:

uiview是ios中的檢視物件,是顯示在螢幕上所有的物件的基礎類,也就是說,所有顯示在螢幕上的物件一定都繼承於uiview。uiview是乙個可以顯示的矩形物件,顯示在螢幕上

- (void)viewdidload
uiview層級關係

uiview的層級關係按照:

[self.view addsubview:view01]

的新增方式來確定。

如果想要調整檢視的層級關係,那麼利用下面的函式來調整:

[self.view bringsubviewtofront: view01
表示要調整那乙個檢視在最前面。self.view為父檢視。

[self.view sendsubviewtoback: view01
表示將某那乙個檢視到最後方。

uiview* viewfront=self.view.subviews[2];

uiview* viewback=self.view.subview[0];

每乙個檢視只有乙個父檢視,view01.superview;

每乙個檢視有若干個子檢視:view01.subviews

uiwindow物件

//當程式框架初始化成功後呼叫此函式此函式用來初始化整個程式框架結構的,是整個ios開發工程師的入口函式(main)函式

/*1、建立乙個window物件

2、整個程式中只有乙個uiwindow物件;在程式基本上表示螢幕視窗

3、uiwindow繼承於uiview,是乙個特殊的uiview

4、uiscreen表示螢幕硬體類,mainscreen獲得主螢幕的裝置資訊,bounds表示螢幕的寬高;獲取依次即可

*/self.window=[[uiwindow alloc] initwithframe:[uiscreen mainscreen].bounds];

/*1、建立乙個檢視控制器作為uiwindow的檢視控制器

*/self.window.rootviewcontroller=[[uiviewcontroller alloc] init];

//設定背景顏色

self.window.backgroundcolor=[uicolor bluecolor];

//設定window有效並顯示

[self.window makekeyandvisible];

return yes;

}

通過增加多個檢視,我們得到下面的**:

//當程式框架初始化成功後呼叫此函式此函式用來初始化整個程式框架結構的,是整個ios開發工程師的入口函式(main)函式

/*1、建立乙個window物件

2、整個程式中只有乙個uiwindow物件;在程式基本上表示螢幕視窗

3、uiwindow繼承於uiview,是乙個特殊的uiview

4、uiscreen表示螢幕硬體類,mainscreen獲得主螢幕的裝置資訊,bounds表示螢幕的寬高;獲取依次即可

*/self.window=[[uiwindow alloc] initwithframe:[uiscreen mainscreen].bounds];

/*1、建立乙個檢視控制器作為uiwindow的檢視控制器

*/self.window.rootviewcontroller=[[uiviewcontroller alloc] init];

//設定背景顏色

self.window.backgroundcolor=[uicolor bluecolor];

//建立子檢視,並設定顏色

uiview* view=[[uiview alloc] initwithframe:cgrectmake(100, 100, 150, 150)];

view.backgroundcolor=[uicolor orangecolor];

//設定父檢視

uiview* backview=[[uiview alloc] initwithframe:cgrectmake(0, 0, 240, 360)];

backview.backgroundcolor=[uicolor whitecolor];

/*將view加到backview上,將backview加到window上,

此時,子檢視的座標是參照父檢視的座標系,當父親檢視移動時,所有的子檢視都會移動。

*/[backview addsubview:view];

[self.window addsubview:backview];

/*在整個程式中,只有乙個window,正如上面的view,backview以及self中的window屬性,全部相等。

*///設定window有效並顯示

關於uiwindow以及uiview的關係如下圖:

iOS學習 第四天

1.整數 浮點數如何加入到array中去?nsnumber 2.與nsarray提供的isequaltoarray有什麼區別 3.字串 234 轉為整數 4.實現乙個utility類,提供計算階乘 計算a的b次方 5.在其他,m中使用utility 6.類是否支援多繼承?7.完善parent類實現i...

iOS 第四天之ViewController

簡單記載下今天學的基礎 viewcontroller.m import viewcontroller.h inte ce viewcontroller property nonatomic,strong uitextfield textfield end implementation viewcon...

團隊開發衝刺第四天

今天實現了 介面的二級入口 以及伺服器端的新聞資料格式化為json,以供android端獲取 還做了乙個搜尋框 含歷史記錄 還未完成,設計的是 在首頁加乙個搜尋框,點選後跳轉到乙個activity上面頂部有乙個下圖所示的搜尋框 含歷史記錄 遇到的問題 在做介面展示的時候,總會出現tablayout遮...