iOS UIView 基本屬性用法

來源:互聯網
上載者:User

標籤:

1.建立 UIView       UIView * redView = [[ UIView alloc] initWithFrame:CGRectMake(10, 100, 200, 100)];       UIView * blueView = [[ UIView alloc] init];        把blueView粘貼到了redView上      [redView addSubview:blueView];            redView 就是blueView 的父視圖         修改父視圖屬性 對子視圖產生影響  2.設定隱藏      redView.hidden = YES ; //父視圖隱藏子視圖也會隱藏  3.如果子視圖超出父視圖範圍是否裁剪子視圖  預設是 NO      redView.clipsToBounds = YES ;  4.是否可以和使用者進行互動,預設為 YES      redView.userInteractionEnabled = YES ;      UIView 預設 YES      /*       如果可一個使用者互動那麼這個視圖 可以接收點擊,子視圖也可以接收點擊事件       誰在在上方誰想接受點擊 最上方的會攔截       如果設定為NO 子視圖和父視圖都不能接受點擊事件,那麼這個點擊就會向下層傳遞知道能被接受事件的控制項接收 如果最後沒有控制項接受這個事件 事件將會被拋棄          UILabel UIIImageView userInteractionEnabled預設是NO,不可以和使用者進行互動          如果button 粘貼到UILabel 和UIIImageView上 button是不能被點擊          如果想要能點擊button 就要把UILabel 和 UIIImageView 的userInteractionEnabled改為YES       */  5.確定父子視圖關係之後我們就可以擷取所有的子視圖      NSArray * subViews = redView.subviews;  6.擷取子視圖的父視圖      UIView * superView = blueView.superview;  7.判斷一個視圖是否是另外一個視圖的子視圖      [button isDescendantOfView:redView];  8.在指定的索引位置插入一個子視圖(這個函數也會把子視圖粘貼到父視圖上)              如果指定的索引超出了 父視圖對應的索引值 那麼就會把這個子視圖插在 最上層          索引0 對應的就是最底層      [ self .view insertSubview:label4 atIndex:10];  9.在指定的某個子視圖下方插入一個新的子視圖      [ self .view insertSubview:label4 belowSubview:label1];       10.在指定的某個子視圖上方插入一個新的子視圖      [ self .view insertSubview:label4 aboveSubview:label1]; 11.父視圖 把指定的子視圖 放到最前方      [ self .view bringSubviewToFront:label4];  12.父視圖 把指定的兩個視圖進行交換      [ self .view exchangeSubviewAtIndex:0 withSubviewAtIndex:2];  13.父視圖 把指定的子視圖放到最底層      [ self .view sendSubviewToBack:label4];  14.可以通過設定中心點位置      blueView.center = CGPointMake(100, 100);  15.通過bounds 改變 視圖的邊框大小      blueView.bounds = CGRectMake(0, 0, 100, 100);      //bounds 前兩項一般是 0 0      frame 和 bounds 區別       1.frame 子視圖相對於父視圖的座標系的座標       2.bounds 前兩項的座標是相對於自己座標系的座標       3.如果把bounds 中的座標改變了 那麼就會影響自己的座標系,那麼最終能影響子視圖  16.修改view的bounds會將redView的座標系改變      redView.bounds = CGRectMake(-50, -50, 200, 100);  17.view.transform        1.CGAffineTransformMakeRotation 設定視圖的旋轉角度(這個角度相對最原始的位置)       imagebutton.transform = CGAffineTransformMakeRotation(M_PI/4);                       2.CGAffineTransformRotate函數相對於當前imagebutton.transform 旋轉的角度      imagebutton.transform = CGAffineTransformRotate(imagebutton.transform, M_PI/4);    18.CGAffineTransformMakeScale可以實現 放大 縮小 上下翻轉 左右翻轉            都是相對最原始的狀態進行變換               CGAffineTransformMakeScale(x, y);               x 控制x 方向的大小  1 原始大小 >1 x方向放大  <1 縮小               y 控制 y方向 大小   1  原始大小 >1 y縱向放大  < 1縮小                           x 是負數 表示相對於原始的位置 左右翻轉 翻轉180度               x 是正數    原始的位置                           y 負數  相對於原始的位置  上下翻轉               y 正數 就是最原始的位置       imagebutton.transform = CGAffineTransformMakeScale(-2, 2);  19.動畫      [ UIView animateWithDuration:0.25 animations:^{ //執行的第一個動畫      } completion:^( BOOL finished) { //第一個動畫結束時執行      }]  20.設定父子視圖自適應/停駐模式      _redView.autoresizesSubviews = YES ; //允許子視圖伴隨父視圖自動變化  21.設定子視圖的自適應模式      blueView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin ;      /*       UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,       父子視圖的左邊距 會伴隨父視圖的寬度 增加而增加 減少而減少       UIViewAutoresizingFlexibleWidth        = 1 << 1,       //子視圖的寬度會伴隨父視圖的寬度增加而增減 減少而減少       UIViewAutoresizingFlexibleRightMargin  = 1 << 2,       父子視圖的右邊距 會伴隨父視圖的寬度 增加而增加 減少而減少       UIViewAutoresizingFlexibleTopMargin    = 1 << 3,       父子視圖的上邊距 會伴隨父視圖的寬度 增加而增加 減少而減少       UIViewAutoresizingFlexibleHeight       = 1 << 4,       //子視圖的高度會伴隨父視圖的高度增加而增減 減少而減少       UIViewAutoresizingFlexibleBottomMargin = 1 << 5       父子視圖的下邊距 會伴隨父視圖的寬度 增加而增加 減少而減少       */

iOS UIView 基本屬性用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.