IOS的UI繼承


圖1



圖2



圖3

  • 所有控件都是UIView的子類,任意控件都可以addSubView

  • 所有UIView控件都有的屬性:

    • backGroundColor----背景顏色
    • Alpha----透明度
    • tage----標簽
    • frame----框架
    • hidden----隱藏
  • 實現滑動一定要繼承UIScrollView

  • UIControl的子類都有點擊和拖動事件

  • 可以自定義控件

    • 可以增加屬性或自定義UI樣式
  • 誤區

    • UITextFiled不可以換行

    • UITextView沒有placeholder

  • 所有控件都以UI開頭

  • 所有控件都可以與用戶交互

  • 如果子類view比父類的view大 那么它的坐標為負的 bounds為本身

以上控件不懂可見圖1與圖2


  • 這三個結構體均在一個頭文件里:[CGGeometry.h]

    三個結構體 CGPoint、CGSize、CGRect

    結構體關鍵字:struct

    • CGPoint 代表坐標
      struct CGPoint {
      CGFloat x;
      CGFloat y;
      };
      typedef struct CGPoint CGPoint;
      看到這個想必你已經懂了,不再解釋。

    • CGSize 代表大小尺寸
      struct CGSize {
      CGFloat width;
      CGFloat height;
      };
      typedef struct CGSize CGSize;
      不解釋。

    • CGRect 代表位置和大小

      這個結構體中還有一個結構體CGPoint

      struct CGRect {
      CGPoint origin; //偏移是相對父視圖的
      CGSize size;
      };
      typedef struct CGRect CGRect;
      同樣 不解釋。


見圖3

  • frame和center都是相對于父視圖的,bounds是相對于自身的

    • frame 是CGRect frame的origin是相對于父視圖的左上角原點(0,0)的位置,改變視圖的frame會改變center
    • center 是CGPoint 指的就是整個視圖的中心點,改變視圖的center也會改變frame
      *bounds 是CGRect 是告訴子視圖本視圖的原點位置(通俗的說就是,子視圖的frame的origin與父視圖的bounds的origin的差,就是子視圖相對于父視圖左上角的位置,如果結果為負,則子視圖在父視圖外)

通過addSubview:這個方法添加子類,不管誰添加它,只要越晚添加,視圖就在越上層移除父視圖也會把它得子視圖移除。


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容