主要內容: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...