歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

有關View的幾個基礎知識點-iOS開發

一般情況下不會使用interface builder去畫界面,而是用純代碼去創建界面,不是裝B,而是剛從vi轉到xcode不久,不太習慣interface builder而已。當然如果需要我也會使用它。一個東西的存在沒有絕對的好與壞,只是存在時間與空間決定了它的價值。

(忘了講了,我的環境是xcode4.2)

首先要弄懂幾個基本的概念。

一)三個結構體:CGPoint、CGSize、CGRect

1.  CGPoint

  1. /* Points. */  
  2.   
  3. struct CGPoint {  
  4.   CGFloat x;  
  5.   CGFloat y;  
  6. };  
  7. typedef struct CGPoint CGPoint;  
看到這個想必你已經懂了,不再解釋。

2.  CGSize

  1. /* Sizes. */  
  2.   
  3. struct CGSize {  
  4.   CGFloat width;  
  5.   CGFloat height;  
  6. };  
  7. typedef struct CGSize CGSize;  
不解釋。

3.CGRect

  1. /* Rectangles. */  
  2.   
  3. struct CGRect {  
  4.   CGPoint origin;//偏移是相對父窗口的   
  5.   CGSize size;  
  6. };  
  7. typedef struct CGRect CGRect;  
同樣 不解釋。

這三個結構體均在一個頭文件裡:CGGeometry.h

二)幾個方法

1.CGRectMake

  1. CG_INLINE CGRect  
  2. CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)  
  3. {  
  4.   CGRect rect;  
  5.   rect.origin.x = x; rect.origin.y = y;  
  6.   rect.size.width = width; rect.size.height = height;  
  7.   return rect;  
  8. }  
沒錯,這個方法就是make一個rect,定好origin(起點,左上角),寬與高,就可以畫出一個位置與大小確定的rect(矩形)這個函數被聲明為內聯函數,一是因為它比較小,二是因為在畫界面時我們要求一定的效率。這個函數還是藏在剛剛那個頭文件裡面:CGGeometry.h

三)幾個基本界面元素:window(窗口)、視圖(view)

要在屏幕上顯示內容首先要創建一個窗口承載內容,要創建一個窗口,需要一個邊框(frame),含有邊框信息的底層 結構就CGRect。每個能夠在屏幕上顯示自己的對象都有一個邊框,定義了他的顯示區域,不過許多高層的視圖類會自動計算這一信息。其他的那些類則在視圖初始化時通過一個initWithFrame的初始化方法來設置。

再來認識一個類:UIScreen。UIScreen類代表了屏幕,通過這個類我們可以獲取一些想要的東東。

  1. CGrect screenBounds = [ [UIScreen mainScreen]bounds];//返回的是帶有狀態欄的Rect   
  2. CGRect viewBounds = [ [UIScreen mainScreen]applicationFrame];//不包含狀態欄的Rect   
  3. //screenBounds 與 viewBounds 均是相對於設備屏幕來說的   
  4. //所以 screenBounds.origin.x== 0.0 ;   screenBounds.oringin.y = 0.0;      
  5. screenBounds.size.width == 320;  screenBounds.size.height == 480(或者其他分辨率有所差異)  
  6. //所以 screenBounds.origin.x== 0.0 ;   screenBounds.oringin.y = 20.0;(因為狀態欄的高度是20像素)   screenBounds.size.width == 320;  screenBounds.size.height == 480  

UIView

下面來認識一下UIView類,這個類繼承自UIResponder,看這個名字我們就知道它是負責顯示的畫布,如果說把window比作畫框的話。我們就是不斷地在畫框上移除、更換或者疊加畫布,或者在畫布上疊加其他畫布,大小當然 由繪畫者來決定了。有了畫布,我們就可以在上面任意施為了。很多簡單的東西我會把庫裡面的內容貼出來,如果東西太多貼出來就不太好,朋友們自己去庫文件裡面看吧。這個類在UIView.h裡面。下面我們先學習一些基礎的東西,其他的東東會在以後慢慢展開。

  1. UIView* myView =[[ UIView alloc]initWithFrame:CGRectMake(0.0,0.0,200.0,400.0)];//這裡創建了一塊畫布,定義了相對於父窗口的位置, 以及大小。  
我們可以把這塊畫布加到其他畫布上,具體方法後面會講到。我們還可以在這塊畫布上畫上其它好玩的東東,具體情形後面會一一講解。
Copyright © Linux教程網 All Rights Reserved