42 UI基礎控制項

2022-09-11 06:33:11 字數 4092 閱讀 3033

uiview的常見屬性

@property(nonatomic,readonly) uiview *superview;  

獲得自己的父控制項物件

@property(nonatomic,readonly,copy) nsarray *subviews;

獲得自己的所有子控制項物件 @property(nonatomic) 

cgaffinetransform transform;  

控制項的形變屬性(可以設定旋轉角度、比例縮放、平移等屬性)

@property(nonatomic) nsinteger tag;

控制項的id(標識),父控制項可以通過tag來找到對應的子控制項

- (void)addsubview:(uiview *)view;

新增乙個子控制項view

- (void)removefromsuperview;  

將自己從父控制項中移除

- (uiview *)viewwithtag:(nsinteger)tag;  

根據乙個tag標識找出對應的控制項(一般都是子控制項)

@property(nonatomic) cgrect frame;

控制項矩形框在父控制項中的位置和尺寸(以父控制項的左上角為座標原點)

@property(nonatomic) cgrect bounds;  

控制項矩形框的位置和尺寸(以自己左上角為座標原點,所以bounds的x、y一般為0)

@property(nonatomic) cgpoint center;

控制項中點的位置(以父控制項的左上角為座標原點)

uilabel的常見屬性

@property(nonatomic,copy)   nsstring   *text;

顯示的文字

@property(nonatomic,retain) uifont  *font;

字型@property(nonatomic,retain) uicolor *textcolor;

文字顏色

@property(nonatomic)        nstextalignment    textalignment;

對齊模式(比如左對齊、居中對齊、右對齊) 

@property(nonatomic) nsinteger numberoflines;

文字行數

@property(nonatomic)   nslinebreakmode   linebreakmode;

換行模式

uifont代表字型,常見建立方法有以下幾個: + (uifont *)systemfontofsize:(cgfloat)fontsize;   系統預設字型 + (uifont *)boldsystemfontofsize:(cgfloat)fontsize;  粗體 + (uifont *)italicsystemfontofsize:(cgfloat)fontsize;  斜體

uiimageview

極其常用,功能比較專一:顯示

uiimageview的常見屬性

@property(nonatomic,retain) uiimage *image

; 顯示的

@property(nonatomic,copy) nsarray *animationimages; 

顯示的動畫

@property(nonatomic) nstimeinterval animationduration;

動畫的持續時間

@property(nonatomic) nsinteger      animationrepeatcount;

uiimageview的常見方法

- (void)startanimating; // 開始動畫

- (void)stopanimating; // 停止動畫

- (bool)isanimating; // 是否正在執行動畫

uiimage

乙個uiimage物件代表一張,一般通過imagenamed:方法就可以通過檔名載入專案中的

uiimage *image = [uiimage imagenamed:@"lufy"];

uibutton的狀態

normal(普通狀態)

預設情況(default)

對應的列舉常量:uicontrolstatenormal

highlighted(高亮狀態)

按鈕被按下去的時候(手指還未鬆開)

對應的列舉常量:uicontrolstatehighlighted 

disabled(失效狀態,不可用狀態)

如果enabled屬性為no,就是處於disable狀態,代表按鈕不可以被點選 對應的列舉常量:uicontrolstatedisabled 

按鈕的樣式

在用**建立按鈕的同時指定按鈕樣式 uibutton *btn = [uibutton buttonwithtype:uibuttontypecustom]; 

uibuttontypecustom:無型別,按鈕的內容需要自定義 uibuttontypedetaildisclosure:

uibuttontypeinfolight: 

uibuttontypeinfodark:

uibuttontypecontactadd:  

uibutton的常見設定

- (void)settitle:(nsstring *)title forstate:(uicontrolstate)state

; 設定按鈕的文字

- (void)settitlecolor:(uicolor *)color forstate:(uicontrolstate)state;

設定按鈕的文字顏色

- (void)setimage:(uiimage *)image forstate:(uicontrolstate)state;

設定按鈕內部的小

- (void)setbackgroundimage:(uiimage *)image forstate:(uicontrolstate)state;

設定按鈕的背景

設定按鈕的文字字型(需要拿到按鈕內部的label來設定)

btn.titlelabel.font = [uifont systemfontofsize:13];

- (nsstring *)titleforstate:(uicontrolstate)state;

獲得按鈕的文字

- (uicolor *)titlecolorforstate:(uicontrolstate)state;

獲得按鈕的文字顏色

- (uiimage *)imageforstate:(uicontrolstate)state;

獲得按鈕內部的小

- (uiimage *)backgroundimageforstate:(uicontrolstate)state;

獲得按鈕的背景

uibutton、uiimageview、uilabel的選擇

uibutton

特點 既能顯示文字,又能顯示(能顯示2張,背景、內容)

長按高亮的時候可以切換\文字

直接通過addtarget...方法監聽點選

uiimageview

能顯示,不能直接通過addtarget...方法監聽點選 

uilabel

能顯示文字,不能直接通過addtarget...方法監聽點選 

選擇僅僅是顯示資料,不需要點選 建議選擇uiimageview、uilabel 

不僅顯示資料,還需要監聽點選 建議選擇uibutton 其實uiimageview、uilabel也可以通過手勢識別器來監聽(後面課程會學)

長按控制項後,會改變顯示的內容 不用考慮了,選擇uibutton(因為uibutton有highlighted這種狀態)

同時顯示2張:背景、內容 不用考慮了,選擇uibutton

Android基礎UI控制項

這只是常用的幾個控制項,還有第三方控制項沒有一一列出。注意必須給控制項設定寬高。button android id id button android layout width wrap content android layout height wrap content android text ...

UI控制項簡介

1.image切割 九宮格切圖 只有中間的會縮放 2.raw image 遮罩 父物體改變子物體的形狀 3.slider 類似滾動條的形狀.滑動條 4.所有的東西都可以用image製作 5.格式 用slider可以控制音量 6.scrollbar 滑動塊 7.dropdown 下拉列表框 8.inp...

UI控制項(UITextField)

implementation viewcontroller void viewdidload uitextborderstyle textfield1.borderstyle uitextborderstyleroundedrect textfield1.text hello,textfield t...