IOS學(xué)習(xí)筆記(五)之視圖的層次結(jié)構(gòu),查找,常用屬性與清理學(xué)習(xí)-創(chuàng)新互聯(lián)

IOS學(xué)習(xí)筆記(五)之視圖的層次結(jié)構(gòu),查找,常用屬性與清理學(xué)習(xí)

創(chuàng)新互聯(lián)公司主營田東網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā)公司,田東h5微信平臺(tái)小程序開發(fā)搭建,田東網(wǎng)站營銷推廣歡迎田東等地區(qū)企業(yè)咨詢

   Author:hmjiangqq

   Email:jiangqqlmj@163.com

(一):視圖的層次結(jié)構(gòu)

1.UIView層次結(jié)構(gòu)可以理解為"視圖樹"-View Hierarchy

2.一個(gè)視圖就是一個(gè)容器,當(dāng)一個(gè)視圖包含其他視圖的時(shí)候,兩個(gè)視圖之間就建立了

 一個(gè)父子復(fù)習(xí)。被包含的視圖被稱為"子視圖(subview)",包含的視圖稱為“父視圖或”

 超視圖(superview)"

3.從視覺上看,子視圖隱藏了俯視圖的內(nèi)容,設(shè)置透明屬性可以看到父視圖的內(nèi)容

4.每個(gè)父視圖都有一個(gè)有序的數(shù)組存儲(chǔ)著它的子視圖,存儲(chǔ)的順序就會(huì)影響到每個(gè)子視圖

 的顯示效果,比如:兩個(gè)兄弟視圖重疊在一起,后來被加入的視圖就會(huì)出現(xiàn)在另外視圖的上面

5.一個(gè)視圖可以嵌入多個(gè)subview,但是只能有一個(gè)superview

視圖的常用方法

   當(dāng)調(diào)用addSubView的時(shí)候,會(huì)對其進(jìn)行保留,相當(dāng)于retain了一個(gè)對象,當(dāng)調(diào)用removeFromSuperView時(shí)候

   會(huì)進(jìn)行釋放該對象,相當(dāng)于release了該對象

基本的添加和刪除子視圖的方法

- (void)removeFromSuperview;  - (void)insertSubview:(UIView *)view atIndex:(NSInteger)index;  - (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2;  - (void)addSubview:(UIView *)view;  - (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview;  - (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview;  - (void)bringSubviewToFront:(UIView *)view;  - (void)sendSubviewToBack:(UIView *)view;

實(shí)例代碼:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  {      self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];      // Override point for customization after application launch.      self.window.backgroundColor = [UIColor whiteColor];      [self.window makeKeyAndVisible];      UIView *view1=[[UIView alloc]initWithFrame:CGRectMake(60, 100, 200, 100)];      view1.backgroundColor=[UIColor redColor];      [self.window addSubview:view1];      [view1 release];            UIView *view2=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)];      view2.backgroundColor=[UIColor blueColor];      [self.window addSubview:view2];      [view2 release];            NSLog(@"view1 superview:%@",[view1 superview]);      NSLog(@"view2 superview:%@",[view2 superview]);      NSLog(@"self.window subViews:%d",[[self.window subviews]count]);            return YES;  }

運(yùn)行截圖:

IOS學(xué)習(xí)筆記(五)之視圖的層次結(jié)構(gòu),查找,常用屬性與清理學(xué)習(xí)

(二):視圖的查找

設(shè)置和查找方法代碼如下:

UIView *view3=[[UIView alloc]initWithFrame:CGRectMake(60, 250, 200, 100)];      view3.tag=100;      view3.backgroundColor=[UIColor yellowColor];      [self.window addSubview:view3];      [view3 release];      NSLog(@"view3:%@",view3);      //通過tag值查找view      UIView *myView=[self.window viewWithTag:100];      myView.alpha=0.1;      NSLog(@"myView:%@",myView);      return YES;

 運(yùn)行截圖:

IOS學(xué)習(xí)筆記(五)之視圖的層次結(jié)構(gòu),查找,常用屬性與清理學(xué)習(xí)

(三):常用屬性:

1.alpha  //透明度

2.backgroundColor  //背景顏色

3.subViews   //子視圖集合

4.hidden   //是否隱藏

5.tag    //標(biāo)簽紙

6.superview  //父視圖

7.multipleTouchEnabled  //是否開啟多點(diǎn)觸摸

8.userInteractionEnabled //是否響應(yīng)觸摸事件

(四)自定義UIView

繼承UIView,創(chuàng)建對象

(五)視圖對象的清理

  如果手動(dòng)創(chuàng)建一個(gè)視圖,分配了任何內(nèi)存,存儲(chǔ)了了任何對象的引用,都需要釋放資源,

必須實(shí)現(xiàn)dealloc方法。當(dāng)某個(gè)對象的引用計(jì)數(shù)為0,系統(tǒng)會(huì)調(diào)用其dealloc方法去釋放對象資源

切記不要手動(dòng)調(diào)用dealloc方法

-(void)dealloc{

//釋放自定義對象

[super dealloc];

}

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享文章:IOS學(xué)習(xí)筆記(五)之視圖的層次結(jié)構(gòu),查找,常用屬性與清理學(xué)習(xí)-創(chuàng)新互聯(lián)
鏈接URL:http://muchs.cn/article32/phspc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、商城網(wǎng)站、搜索引擎優(yōu)化、外貿(mào)建站自適應(yīng)網(wǎng)站網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)