UIView的用法

1.建立UIView函數

     UIView * redView = [[UIView alloc] initWithFrame:CGRectMake(10, 100, 200, 100)];動畫

     UIView * blueView = [[UIView alloc] init];orm

      把blueView粘貼到了redView上索引

    [redView addSubview:blueView];事件

          redView 就是blueView 的父視圖ip

       修改父視圖屬性 對子視圖產生影響animation

 

2.設置隱藏it

    redView.hidden = YES;//父視圖隱藏子視圖也會隱藏io

 

3.若是子視圖超出父視圖範圍是否裁剪子視圖  默認是NOform

    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

     父子視圖的下邊距 會伴隨父視圖的寬度 增長而增長 減小而減小

     */

相關文章
相關標籤/搜索