開發環境如下:
創新互聯公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站設計制作、網站設計、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的運城網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!首先要弄懂幾個基本的概念。
一)三個結構體:CGPoint、CGSize、CGRect
這三個結構體均在一個頭文件里:
#include <CoreGraphics/CGGeometry.h>
打開文件如下:
其中 CGRect 的偏移量是相對父窗口的。
二)三個方法:CGPointMake、CGSizeMake、CGRectMake
這三個函數還是在剛剛那個頭文件里面:
#include <CoreGraphics/CGGeometry.h>
打開文件如下:
備注:可見
#include <CoreGraphics/CGGeometry.h>
這個文件里有宏定義:
CG_EXTERN
和
CG_INLINE
追根溯源,可以發現在文件
#include <CoreGraphics/CGBase.h>
文件中有宏定義:
可見上述這三個函數是不是內聯函數,要看是哪種編譯器。通過如下輸出可判定是哪知編譯器:
三)幾個基本界面元素:window(窗口)、視圖(view)
要在屏幕上顯示內容首先要創建一個窗口(window)承載內容,要創建一個窗口,需要一個邊框(frame),含有邊框信息的底層 結構就CGRect。每個能夠在屏幕上顯示自己的對象都有一個邊框(frame),定義了他的顯示區域,不過許多高層的視圖類(UIView)會自動計算這一信息。其他的那些類則在視圖初始化時通過一個initWithFrame的初始化方法來設置。
再來認識一個類:UIScreen。UIScreen類代表了屏幕,通過這個類我們可以獲取一些想要的東東。
UIView
下面來認識一下UIView類。這個類繼承自UIResponder,看這個名字我們就知道它是負責顯示的畫布。如果說把window比作畫框的話,我們就是不斷地在畫框上移除、更換或者疊加畫布,或者在畫布上疊加其他畫布,大小當然由繪畫者來決定了。有了畫布,我們就可以在上面任意操作了。
這個類在
#include <CoreGraphics/UIView.h>
里面。
下面我們先學習一些基礎的東西。
首先進入其頭文件里面,查看其 frame 和 bounds 屬性。
這里我們要弄清楚frame和bounds這兩個屬性的區別:
-(CGRect)frame{
return CGRectMake(self.frame.origin.x, self.frame.origin.y, self.frame.size.width, self.frame.size.height);
}
-(CGRect)bounds{
return CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
}
可見:
frame: 該view在父view坐標系統中的位置和大小。(參照點是,父親的坐標系統)
bounds:該view在自身坐標系統中的位置和大小。 (參照點是,自身坐標系統)
創建畫布的基本方式如下:
CGRect CGone = CGRectMake(0.0, 0.0, 320, 100); //畫個矩形,初始化位置與大小
UIView *v_one = [[UIView alloc] initWithFrame:CGone];//初始化view
我們可以把這塊畫布加到其他畫布上。
[self.window addSubview:v_one];//直接加到畫框上
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章標題:有關View的幾個基礎知識點-IOS開發-創新互聯
URL地址:http://vcdvsql.cn/article38/ddhpsp.html
成都網站建設公司_創新互聯,為您提供App設計、虛擬主機、企業建站、定制網站、品牌網站制作、外貿網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯