在正式進(jìn)入U(xiǎn)I之前,我們需要了解一些知識(shí)。
成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)八宿,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792蘋果手機(jī)的分辨率:iPhone3GS 320*480; iPhone4和iPhone4S 640*960;iPhone5c、5S 640*1136;
iPhone6 750*1334; iPhone6plus 1080*1920。
屏幕尺寸如3.5英寸:320 * 480, 如果采用的是Retina屏,寬和高都要分別乘以2,這也就是為什么3GS和4同為3.5英寸,但是分辨率卻差了4倍。
學(xué)習(xí)UI需要使用xcode中空工程,iOS -> Application -> Empty Application.進(jìn)入之后運(yùn)行會(huì)出現(xiàn)設(shè)備的模擬器,通過(guò)command +1,+2,+3可以調(diào)整模擬器的大小分別100%,75%,50%。如果沒(méi)有模擬器進(jìn)入window -> device -> 添加設(shè)備模擬器。使用command + shift + h, 可以返回模擬器的主界面,輸入兩次h效果同iPhone雙擊home鍵。
一個(gè)完整iOS App = 各種各樣的UI設(shè)計(jì) + 業(yè)務(wù)邏輯 + 算法。
iOS從2.0開始到7.0都是擬物化的設(shè)計(jì)風(fēng)格,7.0則放棄了這一設(shè)計(jì),以線條為主,更傾向于扁平化的設(shè)計(jì)風(fēng)格。
一 UIWindow
雖然我們還沒(méi)學(xué)習(xí)UIView,但是你應(yīng)當(dāng)有一種意識(shí),UIWindow是UIView的一個(gè)子類,繼承其所有的屬性、方法和實(shí)例變量。
UIWindow有什么作用?
UIWindow用來(lái)承載UIView的視圖給用戶,如果沒(méi)有window,設(shè)備將是一片漆黑。
UIWindow有什么特點(diǎn)?
UIWindow伴隨著整個(gè)應(yīng)用程序的生命周期,知道app結(jié)束時(shí)才釋放。我們通常不對(duì)它進(jìn)行太多的設(shè)置和操作。一個(gè)app通常只有一個(gè)window。
UIWindow如何創(chuàng)建對(duì)象?
UIWindow *window = [UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor grayColor];
[self.window makeKeyAndVisible];
以上代碼對(duì)于剛從OC過(guò)來(lái)的同學(xué)來(lái)說(shuō)有很多陌生的代碼,建議進(jìn)入頭文件中去查看。mainScreen返回一個(gè)代表設(shè)備屏幕的對(duì)象,bounds是一個(gè)返回值為CGRect的實(shí)例方法。大家首先要樹立一種控件也是一種類,格式和我們學(xué)得OC相同。CGRect 是一個(gè)結(jié)構(gòu)體,有兩個(gè)元素:CGPointer origin; CGSize size; , CGPointer 也有兩個(gè)元素: CGFloat x; CGFloat y; CGSize 有兩個(gè)元素: CGFloat width; CGFloat height; 其中的CGFloat就是double。
二 UIView
view(是“視圖”的意思):屏幕上的一塊矩形區(qū)域。不同的空間對(duì)應(yīng)著不同類型的視圖。換句話說(shuō),UIView有很多子類,而且功能不盡相同。需要將UIView重視起來(lái),APP中所有的可視化空間全部是UIView或者其子類。
如何創(chuàng)建一個(gè)UIView對(duì)象?
代碼如下
UIView *aView = [UIVew alloc]initWithFrame:CGRectMake(CGFlaot x, CGFlaot y, CGFlaot width,
CGFloat heigth)]; // 開辟空間并初始化
aView.backgroudColor = [UIColor redColor]; // 給屬性賦值
[self.window addSubview: aView]; // 將視圖添加到父視圖中
[aView release] ; // 釋放aView的保有權(quán)
首先add方法和集合類的對(duì)象一樣自動(dòng)保有元素的所有權(quán),所以釋放aView沒(méi)有問(wèn)題。
其次, CGRectMake()是快速創(chuàng)建結(jié)構(gòu)體的方法,frame是一個(gè)CGRect類型的結(jié)構(gòu)體。
最后,說(shuō)明一下NSRect類型結(jié)構(gòu)體重各元素的作用。
要想在屏幕上畫出一個(gè)矩形,首先知道位置,其次知道大小。CGRect的兩個(gè)元素CGPointer和CGSize就是分別代表位置和大小。iOS中為了布局創(chuàng)建了平面坐標(biāo)系。它的原點(diǎn)為屏幕的左上角。水平向右是X的正方向,垂直向下是Y的正方向。這樣CGRect的4各元素就都清楚明白了。
需要注意的是如果子視圖超過(guò)了父視圖的邊界,超過(guò)的 部分是沒(méi)有響應(yīng)的。
center
center其實(shí)是frame的衍生品,他們兩個(gè)完全等價(jià)。center就是值矩形視圖的中心坐標(biāo)。他有兩個(gè)元素:CGFloat x,CGFloat y。 center.x = frame.origin.x + frame.size.width/2 center.y = frame.origin.y + frame.size.height/2 .
bounds
bounds是一個(gè)CGRect類型的結(jié)構(gòu)體。只不過(guò)它是自己的坐標(biāo)系,它的子視圖要以這個(gè)坐標(biāo)系為準(zhǔn)。它可以設(shè)置左上角的坐標(biāo)為任意值。使用較少。
先說(shuō)明一下frame、bounds、center的聯(lián)系。
當(dāng)frame.origin變化時(shí),center也是變化的,反之,亦然;當(dāng)frame.size變化時(shí),bounds的size也是變化的,反之亦然;當(dāng)center變化時(shí),bounds.origin是不變的,反之亦然。
重點(diǎn)說(shuō)明一下UIView的方法、屬性。
1 插入元素方法
addSubview: , insertSubview: atIndex, insertSubview: aboveSubview, insertSubview: belowSubview。 當(dāng)UIView對(duì)象調(diào)用這些方法時(shí),會(huì)將參數(shù)subview添加為自己的子視圖。而且插入越早編號(hào)越靠前,離用戶越遠(yuǎn)。這里透露一個(gè)小技巧,在控制臺(tái)有一個(gè)交叉的兩個(gè)矩形的圖標(biāo),點(diǎn)擊它可以查看層次。
2 管理層次方法
bringSubviewToFront: , sendSubviewToBack:, exchangeSubviewAtIndex: withSubviewAtIndex:, removefromSuperview. 可以用來(lái)調(diào)整和用戶的距離。
3 屬性
hidden : 是否可見 BOOL
alpha: 不透明度 CGFloat
superview 返回父視圖 UIView
subv 返回子視圖 NSArray
tag 為對(duì)象添加標(biāo)簽,使用viewWithTag方法來(lái)調(diào)用對(duì)象。注意tag一般都大于1000;integer。
三 UILabel
UILabel: 是UIView的子類,可以顯示文本。它在APP中出現(xiàn)的次數(shù)是最多的。
屬性:
text:用來(lái)顯示文本的內(nèi)容,使用字符串賦值。
textColor:用來(lái)更改字符串的顏色
textAligment:用來(lái)進(jìn)行水平的對(duì)齊操作。 NStextAligment是一個(gè)枚舉,NStextAligmentLeft = 0,center = 1, right = 2.
backgroundColor: 用來(lái)顯示控件的輪廓。
font :用來(lái)管理字符串的字體和大小等特性:fontWithName: size: , systemFontOfSize:。
numberOfLines: NSinteger 字符串顯示幾行。默認(rèn)是1行,如果設(shè)置為0,系統(tǒng)自動(dòng)判斷。
lineBreakMode: NSlineBreakMode 是一個(gè)枚舉類型。記住兩個(gè):NSlineBreakByWordWrapping.NSlineBreakByCharWrapping. 第一個(gè)值0, 第二個(gè)值1.
shadowColor :陰影的顏色
shadowOffset:陰影的偏移。后面的參數(shù)是一個(gè)NSPointer ,第一個(gè)元素代表X方向的偏移,另一個(gè)代表Y方向的偏移。
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。
當(dāng)前文章:UIWindow、UIView及UILabel-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)地址:http://www.rwnh.cn/article44/dhhdhe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、微信小程序、用戶體驗(yàn)、營(yíng)銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容