iOS - 手動添加cell

功能名稱:活動報名。
功能簡介:XX平臺不定期發(fā)布活動,用戶可以報名(至少1人,上不封頂)參加。
頁面結(jié)構(gòu):頁面整體為tableview,tableheaderview顯示一張活動相關(guān)圖片,tablefooterview用于承載備注信息,cell有兩個功能:1.輸入報名人信息。2.添加一個報名人。
功能描述:默認顯示兩個cell,第一個cell為展開(填寫報名信息)狀態(tài),第二個cell為收起(添加報名人)狀態(tài)。點擊“添加”按鈕,當前cell由收起狀態(tài)更改為展開狀態(tài),同時增加一個收起狀態(tài)的cell。
備注:本文僅介紹UI部分的功能實現(xiàn)。
UI示例:

tonggao.gif

實現(xiàn)條件:
0.模型數(shù)組(可變)
1.模型擁有一個BOOL類型的屬性,用于標記cell的 展開 和 收起 兩種狀態(tài)。
2.cell擁有高度屬性 cellHeight
3.cell的布局:放置兩個容器視圖,一個承載UITextField等報名信息相關(guān)內(nèi)容,另一個承載加號按鈕等。
4.根據(jù)模型的兩種狀態(tài)決定要 顯示的容器視圖 和 cellHeight。
5.在cell的setModel中根據(jù)模型狀態(tài)隱藏和顯示容器視圖,并且計算行高
6.在返回行高的方法中設(shè)置模型,返回cell的cellHeight
7.設(shè)置控制器為cell的代理,點擊“添加”按鈕時通知控制器,增加一個新的模型(收起狀態(tài))并刷新tableview

實現(xiàn)思路:
一。初始化tableview時,向模型數(shù)組中添加兩個模型,一個是展開狀態(tài),一個是收起狀態(tài)。二。在cell的setModel方法中,1.如果模型是展開狀態(tài),則顯示“展開”容器視圖并隱藏“收起”容器視圖,反之則顯示“收起”容器視圖;2.計算cellHeight,“展開”狀態(tài)高度為最底部控件的CGRectGetMaxY值 + 固定值,“收起”狀態(tài)高度為 固定值(根據(jù)實際需求決定). 三。在數(shù)據(jù)源方法中設(shè)置cell的代理為控制器,在控制器中實現(xiàn)cell的代理方法,在代理方法中:1.創(chuàng)建一個模型(收起狀態(tài)),2.將新建的模型添加到模型數(shù)組中并且刷新tableview。

這個功能比較簡單,所以就不貼代碼了,請各位指教。謝謝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概述在iOS開發(fā)中UITableView可以說是使用最廣泛的控件,我們平時使用的軟件中到處都可以看到它的影子,類似...
    liudhkk閱讀 9,290評論 3 38
  • 先記錄一下MongoDB的常用命令 use dbname //切換到對應(yīng)的數(shù)據(jù)庫 show dbs//顯示所有數(shù)...
    北你妹的風閱讀 338評論 0 0
  • 國外一、二年級的孩子一般會有以下三種基本形式的寫作: - Opinion Writing 表達自己的看法 - In...
    曉嚕?;j閱讀 1,576評論 6 5
  • 最近大哥讓我寫一個小工具,發(fā)現(xiàn)這個東西很是安逸,可以結(jié)合c#文件操作的那一套,用著接口很是順手。這個其實就可以分為...
    黒可樂閱讀 15,840評論 1 3
  • 黑夜只容得下靜, 透明的窗硬挺挺, 隔著你送來的星。 窗那邊空氣輕靈的舞姿燥熱, 窗這里冷風簌簌的流淌細寒。 泛黃...
    e74a8d4d7c2f閱讀 241評論 4 1

友情鏈接更多精彩內(nèi)容