UI第九 第十 第十一課UITableView

2021-06-27 14:46:23 字數 3434 閱讀 3265

主要內容:uitableview

一、表檢視

uitableview表示圖:通常用來管理一組具有相同資料結構的資料

uitableview繼承與uiscrollview,所有可以滾動,表示圖的每乙個資料都顯示在uitableviewcell物件中,表示圖可以分割槽顯示資料,每個分割槽稱為乙個section,每一行稱為row,編號都是從0開始

二、表示圖的建立

每一行中要顯示的資料,需要有乙個資料來源datasource

那麼需要遵守兩個協議:

- (nsinteger)tableview:(uitableview *)tableview  numberofrowsinsection:(nsinteger)section;每個分割槽有多少行

- (uitableviewcell *)tableview:(uitableview *)tableview  cellforrowsatindexpath:(nsindexpath *)indexpath;每行顯示的內容

但是我們寫的時候都會在前面先實現這個方法

- (nsinteger)numberofsectionsintableview:(uitableview *)tableview;

uitableview中每乙個單元格被稱為乙個cell(uitableviewcell),系統預置了4中樣式的cell(列舉型別)

重用機制:

靠mutableset實現重用機制

出螢幕的cell會唄新增到mutableset中,進入螢幕的cell,先從set中獲取,如果獲取不到,才建立乙個cell,在cell顯示之前,給cell賦上相應的內容,cell的reuseidentifier是重用的關鍵

三、uitableview編輯

cell的新增、刪除

1、讓tableview處於編輯狀態

- (void)setediting:(bool)editing  animated:(bool)animated;

2、指定tableview哪些行可以編輯

- (bool)tableview:(uitableview *)tableview  caneditrowatindexpath:(nsindexpath *)indexpath;

3、指定tableview的編輯樣式

- (uitableviewcelleditingstyle)tableview:(uitableview *)tableview  editingstyleforrowatindexpath:(nsindexpath *)indexpath;

4、編輯完成(先運算元據源、在修改ui)

- (void)tableview:(uitableview *)tableview  commiteditingstyle:(uitableviewcelleditingstyle *)editingstyle  forrowindexpath:(nsindexpath *)indexpath;

移動的步驟:

1、讓tableview處於編輯狀態

- (void)setediting:(bool)editing  animated:(bool)animated;

2、指定哪些行可以移動

- (bool)tableview:(uitableview *)tableview  canmoverowatindexpath:(nsindexpath *)indexpath;

3、移動完成

- (void)tableview:(uitableview *)tableview  moverowatindexpath:(nsindexpath *)sourceindexpath  toindexpath:(nsindexpath *)destinationindexpath;

移動過程中,檢測移動過程,限制跨區移動

- (nsindexpath *)tableview:(uitableview *)tableview  targetindexpathformovefromrowatindexpath:(nsindexpath *)sourceindexpath  toproposedindexpath:(nsindexpath *)proposeddestinationindexpath;

uitableview的方法

設定有多少個分割槽

- (nsinteger)numberofsectionsintableview:(uitableview *)tableview;

設定每個分割槽有多少行

- (nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section;

設定每行顯示的內容

- (uitableviewcell *)tableview:(uitableview *)tableview  cellforrowatindexpath:(nsindexpath *)indexpath;

設定分割槽頭標題

- (nsstring *)tableview:(uitableview)tableview  titleforheaderinsection:(nsinteger)section;

設定右側索引

- (nsarray *)sectionindextitlesfortableview:(uitableview *)tableview;

設定頭標題的高度

- (cgfloat)tableview:(uitableview *)tableview  heightforheaderinsection:(nsinteger)section;

設定尾標題的高度

- (cgfloat)tableview:(uitableview *)tableview  heightforfooterinsection:(nsinteger)section;

設定頭標題內顯示的view

- (uiview *)tableview:(uitableview *)tableview  viewforheaderinsection:(nsinteger)section;

設定尾標題內顯示的view

- (uiview *)tableview:(uitableview *)tableview  viewforfooterinsection:(nsinteger)section;

設定每行的高度及選中

- (void)tableview:(uitableview *)tableview  didselectrowatindexpath:(nsindexpath *)indexpath;

- (void)tableview:(uitableview *)tableview  heightforrowatindexpath:(nsindexpath *)indexpath;

Linux第十一課

apache 一 虛擬主機 apache可基於ip位址 主機網域名稱 埠號實現提供多個 同時為外部提供訪問服務的技術。使用網域名稱,要在 etc hosts檔案中做本地強制解析 基於埠號,要注意新增用於監聽埠的引數 二 訪問控制 基於源主機名 源ip位址 或源主機上的瀏覽器特徵等資訊對 上的資源繼續...

第十一課 文法

數量的說法 1 計算物品時的說法。11以上用數字計算。2 量詞 計算人 物時,或要表示某種數量時,物件不同使用的量詞也會不同。量詞直接放在數字後面使用。人 計算人數。但是,乙個人時說 人 兩個人時用 人 人 要唸 臺 計算機械,或汽車,自行車等交通工具時使用。枚 計算薄或扁平的物品。紙張,襯衫,盤子...

第十一課C 異常

異常的機制,格式如下 try 後面可以抓取很多和catch 編譯器會根據 引數來進行匹配 catch char s catch int a catch 表示剩下全部的情況 include include using namespace std classa voidk void voidkk voi...