日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UIView 学习知识点

發布時間:2025/3/21 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UIView 学习知识点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UI學習第一周

UIView 視圖類 :代表屏幕上的一塊矩形區域,在屏幕上看到的任何一個元素都是UIView或者UIView的子類

創建UIView的幾大要素:

//1.大小 – 寬和高

//2.位置 – 視圖左上角點得坐標,x(橫坐標), y(縱坐標)

//3.快速創建結構體的變量的方法

CGRect -> CGREcetMake()? 包含位置和大小

CGPoint -> CGPointMake() 包含位置 x和y

CGSize -> CGSizeMake() 包含大小 width 和 height

實例:

//1,創建視圖對象

?UIView *redView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];

//2,更改背景顏色

?redView.backgroundColor = [UIColor redColor];

(在這個位置可以給視圖設置唯一標識 tag

redView.tag = 101; //可以通過tag值取到redView視圖)

//3,添加到父視圖上 -- window上

?[self.window addSubview:redView];

//4,釋放所有權 -- 對應alloc操作

? [redView release];

UIView視圖相關的屬性

  • centerView.hidden = YES; //顯隱性, YES則顯示,NO則隱藏
  • rightUpView.alpha = 0.2; //透明度 ,值的范圍在0 – 1.0之間
  • backgroundColor:背景顏色
  • superview:獲取一個視圖的父視圖, 一個視圖只能有一個父視圖
  • subviews:獲取一個視圖所有的子視圖.NSArray.數組中子視圖的位置和添加子視圖的順序一致
  • tag:視圖的唯一標識,是一個整數值,一般給100以上
  • ?? //通過tag值獲取視圖

    UIView *tempView = [self.window viewWithTag:101];

    ?

    //打印視圖

    //打印window和中心視圖的所有子視圖

    NSLog(@”window:%@”, self.window.subviews);

    NSLog(@”window:%@”, centerView.subviews);

    //打印中間視圖和右上角視圖的父視圖

    NSLog(@”center:%@”, centerView.superview);

    NSLog(@”leftUp:%@”, leftUpView.superview);

    //通過window的subviews獲取

    UIView *tempView = [self.window.subviews objectAtIndex:1];

    //視圖操作的API

    //運用創建視圖方法分別創建紅黃藍綠視圖:

    ? //將藍色添加到黃色視圖和紅色視圖中間

    //[self.window insertSubview:blueView belowSubview:yellowView];

    //[self.window insertSubview:blueView aboveSubview:redView];

    //[self.window insertSubview:blueView atIndex:1];

    ? //該方法將視圖添加到subviews數組中最后一個位置

    ??? [self.window addSubview:blueView];

    ??? [blueView release];

    ? //1.把綠色視圖移動到最后面

    //[self.window sendSubviewToBack:blueView];

    ? //2.把綠色視圖移動到最前面

    //[self.window bringSubviewToFront:blueView];

    ? //3.將藍色視圖和紅色視圖換下位置

    //[self.window exchangeSubviewAtIndex:3 withSubviewAtIndex:0];

    ? //4.將藍色視圖移除掉

    //[blueView removeFromSuperview];

    //管理視圖的層級關系:

  • 一個視圖只能有一個父視圖,但是可以有多個子視圖
  • 視圖subviews中元素的位置和子視圖添加順序一致,越晚添加的視圖,處在數組中的最后位置.
  • 晚添加的視圖如果和之前的視圖有重疊部分,會覆蓋掉之前的.
  • 子視圖永遠顯示子啊父視圖的前面
  • 添加子視圖和調整視圖的層級關系,需要由父視圖來調用對應的方法
  • 如果要移除某個視圖,直接由移除的視圖調用remoceFromSuperview方法即可.
  • ?

    視圖具有的和位置相關的屬性

    ???? 1.frame:既包含大小,也包含位置,而位置是視圖區域左上角的點的坐標,相對于父視圖坐標原點的距離.

    ???? 2.center:中心點的位置.

    ???? 3(難點).bounds:既包含大小,也包含位置,而位置是視圖區域左上角的點的坐標,相對于自身視圖坐標原點的距離.

    改變bounds中x,y.會造成自身視圖坐標原點位置發生變化,影響子視圖位置.

    實例:

    //布局思想 -- 創建一個和屏幕等大的內容視圖,添加到window上,而所有的子視圖都添加到內容視圖上.

    ??? UIView *containerView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];

    ??? containerView.backgroundColor = [UIColor yellowColor];

    ??? [self.window addSubview:containerView];

    ??? [containerView release];

    ??? //接下來將所有的子視圖都添加到內容視圖containerView上

    轉載于:https://www.cnblogs.com/iamfoolish/p/4769807.html

    總結

    以上是生活随笔為你收集整理的UIView 学习知识点的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。