UI課程01 UIView及其子類

2021-07-05 03:04:08 字數 3176 閱讀 9136

(附:畫素 = 螢幕劃分的等份 * 2)

一、1. uiwindow

// 建立

self.window= [[uiwindow alloc]init];

//設定位置和大小

self.window.frame = [[uiscreen mainscreen]bounds];//bounds如果不設定起始位置就為(0,0)

//   self.window.frame = cgrectmake(0, 0, 200, 200);

//設定顏色

= [uicolor colorwithred:100/255.0green:70/255. blue:70/255. alpha:1];

self.window.backgroundcolor = [uicolor whitecolor];

//   三原色的範圍:0-255,alpha(透明度),

//   範圍都是0-1

//   100/255.0  後面必須是小數的形式,255.也可以          

//新增到螢幕上

[self.windowmakekeyandvisible];

2.uiview

1)開闢控制項並初始化

2)設定檢視(背景色等)

3)將檢視新增到window上

4)釋放檢視物件

eg://建立黃色檢視

uiview*yellowview = [[uiview alloc] init];

yellowview.frame = cgrectmake(100, 100, 100, 100);

yellowview.backgroundcolor = [uicolor yellowcolor];

//把檢視新增到window 上

[self.windowaddsubview:yellowview];

uiview *redview = [[uiviewalloc] init];

redview.frame = cgrectmake(100,200,100,300);

redview.backgroundcolor = [uicolor redcolor];

[self.windowaddsubview:redview];

//   [yellowview addsubview:redview];//參考座標系不同(以父檢視的起點為參考係)

frame與bounds的區別:

//   bounds:以自身的參考係為基準

//    更改了bounds的值,不會影響自身的位置的改變,會影響子檢視的位置改變

//   frame:以父檢視的座標為基準

//   修改frame,會影響自己的位置和大小

//   如果想要,挪動自身的位置

//   1.修改自身的frame

//   2.修改父檢視的bounds

//   設定檢視的中心點

uiview*centerview = [[uiview alloc] initwithframe:cgrectmake(0, 0, 100,100)];

centerview.backgroundcolor = [uicolor bluecolor];

//設定自己的中心和window的中心對齊

centerview.center = self.window.center;

[self.windowaddsubview:centerview];

//插入乙個檢視

uiview*cyanview = [[uiview alloc]initwithframe:cgrectmake(100, 100, 300,300)];

cyanview.backgroundcolor = [uicolor cyancolor];

[cyanviewsettag:10];

//插入檢視給父檢視傳送訊息,把要插入的檢視作為引數

[self.windowinsertsubview:cyanview atindex:0];

//移除檢視,給需要移除的物件傳送訊息

//[cyanview removefromsuperview];

//把乙個檢視移動到最上面,給父檢視傳送訊息

[self.windowbringsubviewtofront:cyanview];

//移到最下面

[self.windowsendsubviewtoback:cyanview];

//交換

[self.windowexchangesubviewatindex:1 withsubviewatindex:0];

//uiview的常用檢視方法

//   隱藏

//   cyanview.hidden = yes;

//   透明度

cyanview.alpha = 0.2;

//   獲取父檢視

nslog(@"*******%@",[cyanview superview]);

//   獲取子檢視

nslog(@"*****==%@",[self.window subviews]);

[selftest];

-(void)test

問題:1.

//   為什麼不能用以下這種方法修改檢視的座標呢

//   cycview.bounds.origin = cgpointmake(0, 30);

//   

//   不可以分開賦值,要用cgrectmake這個方法整體賦值

//    //

//   //   如果想單個修改,必須建立乙個物件修改完後整體替換

//    cgrectrect=centerview.frame;

//   rect.size.width=300;

//   centerview.frame=rect;

//    rect.size= cgsizemake(20, 90);

//   rect.origin.x = 20; //cgpointmake(20, 90)

//   centerview.frame = rect;

2.子檢視只屬於上一級檢視,不屬於再上一級的檢視

01 爬蟲課程概述

課程介紹 1.python的基本語法知識 2.如何抓取html頁面 http請求的樹立,urllib,urllib2,requests 處理後的請求可以模擬瀏覽器傳送請求,獲取伺服器響應的檔案 3.解析響應頁面的內容 re xpath beautifulsoup4 bs4 jsonpath pyqu...

01課程介紹

1 掌握多平台c 程式的設計 編碼 除錯 發布。2 掌握select iocp epoll網路通訊模型,不同場景選擇最合適的模型。3 掌握主流平台下使用c tcp進行網路通訊。4 掌握主流遊戲引擎中使用c tcp與服務端通訊。5 掌握伺服器開發效能優化技巧。6 掌握不同平台下多執行緒 執行緒池 記憶...

嵌入式課程筆記 01 STDC01

linux作業系統的一種主要的使用方法是通過終端軟體 終端裡只能使用鍵盤不能使用滑鼠 終端裡通過輸入命令控制計算機完成任務 clear命令可以清除終端視窗裡所有文字內容 作業系統中用來管理檔案的部分叫檔案系統 所有檔案系統都通過分組方式管理檔案,乙個分組裡可以包含任意多個檔案 乙個分組裡的檔案還可以...