中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

UIWindow、UIView及UILabel-創(chuàng)新互聯(lián)

     在正式進(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)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
邵阳县| 秀山| 霍城县| 察哈| 沈丘县| 汉川市| 逊克县| 正定县| 秦皇岛市| 新郑市| 连平县| 武威市| 嘉黎县| 封丘县| 朝阳县| 呼伦贝尔市| 大石桥市| 焉耆| 宁陵县| 兴宁市| 大邑县| 九寨沟县| 象山县| 道孚县| 怀化市| 阳谷县| 仁寿县| 资兴市| 巴南区| 贵南县| 界首市| 西青区| 永丰县| 新平| 黄大仙区| 三门峡市| 睢宁县| 哈密市| 洞头县| 德州市| 安化县|