IOS开发笔记(Swift):UITableView表格视图的静态使用
2019獨角獸企業重金招聘Python工程師標準>>>
? ? 最近一段時間都在準備IOS的開發,學習swift語言,之前做過很多類型的開發:前端、Java Web、.net、Android等,IOS是第一次接觸,很不適應,學習的進度也比較慢,不過在看過一些視頻、幾本pdf之后,總算有了一點心得。從今天起,開始做一些整理,一方面加深自己的認知,另一方面也可以方便他人,共同討論和進步,本文通過一個實例,整理一下UITableView表格視圖的靜態使用。
? ? 本文使用的環境是Xcode7,Swift2.2,將要創建的表格視圖是靜態的,不涉及動態數據的處理,有這方面需求的朋友請繞道,以免耽誤您的寶貴時間。首先,看一下最終的效果圖。
? ? ios已經入門的童鞋都知道,蘋果提供了UITableView類來創建表格視圖,表格視圖應用于很多地方,app里列表的展示、設置等等,一個表格視圖可以包含一個或多個不同的部分,上面的效果圖中就是兩個部分Section(紅框),每一個部分里面可以包含一個或多個單元格,也就是行。
? ? 在蘋果提供的控件庫里,每一個行就是一個UITableViewCell,用于創建表格中的單元格,在單元格中我們可以展示需要的數據,每個單元格只能屬于一個部分。
? ? 接下來,我們通過一個例子,來深入的學習一下UITableView表格視圖的使用,首先我們需要創建一個Single View Application,命名為UITableViewDemo,關于項目如何創建不屬于本文的學習內容,這里不再贅述,有需求的朋友請自行google。
? ? 我們將通過故事板的方式進行頁面的設計,第一步,我們打開Main.storyboard文件,先在File inspector里面(右側欄第一個)禁用掉SizeClasses特性。SizeClasses是蘋果從Xcode6之后引入的新特性,用來解決多設備的適配問題,本文只是簡單的一個學習Demo,重心不再多設備適配,所以不需要這個特性。
? ? 然后刪除默認的viewController,從控件庫里面拖動一個TableViewController,選中并在Attribute inspector(右側欄第四個)里面設置為初始的view controller。
? ? 然后,我們選中TableView,選中Attributes inspector(右側欄第四個),將content修改為靜態單元格StaticCells,并設置為兩部分,如圖所示:
? ? 我們的例子中,每個section里面的單元格數量也不一致,每一部分也不需要顯示頭部和尾部,我們依次選中section,進行統一的修改,將header和footer都設置為空,第一部分設置rows為2,第二部分設置為3,通過下圖所示修改:
? ? 修改之后,運行一下你會發現,我們的TableView看著像是一個5行的單元格,其實它是由兩個部分構成,下面,我們需要對此TableView指定相應的class,我們新建一個Cocoa Touch Class,命名為MoreTableViewController,并繼承UITableViewController,我們選中storyboard里面的TableViewController,選中右側第三欄,Identity inspector,設置class為新建的MoreTableViewController。
? ? 接下來,我們修改單元格的樣式,首先我們需要在Assets里面,import幾張提前準備好的圖片,這里就不再贅述了,接下來我們依次選中對應的單元格,修改如圖所示的幾個地方,依次是Style,Image和Accessory(右側樣式),蘋果提供了默認的集中樣式供開發者使用,讀者也可以自行切換看下效果,修改后的效果如下:
? ? 如果這時候,我們將代碼編譯,選擇iphone4s模擬器運行的話,我們會發現都是空白,并沒有我們storyboard里面看到的效果,這是因為我們沒有對UITableView里面的方法進行實現,打開我們之前新建的MoreTableViewController.swift文件,我們發現里面包含有兩個tableView的方法,分別是:numberOfSectionsInTableView和numberOfRowsInSection,分別表示表格包含幾個部分,以及每個部分中單元格的個數,根據我們的需要,我們做如下的實現,代碼就不解釋了:
? ?這時候,我們再運行項目,會發現表格已經展示出來了,不過跟我們的效果圖,還有一些差距,首先是沒有最上面的導航,以及背景顏色,單元格下劃線、兩個部分之間的高度等。
? ? 接下來,我們依次解決,首先我們添加一個上方的導航,打開storyboard,選中tableViewController,通過Xcode工具欄Editor-Enbed in-Navigation Controller加入導航,并簡單修改導航的標題為“更多”,如圖所示:
? ? 接下來,我們修改單元格的下劃線,并設置表格的背景顏色,以及調整每個section的高度,以達到效果圖的效果,我們選中TableView,以及右側第四欄Attributes inspector,設置其中的Separator為SingleLineEtched(帶浮雕效果的線條),這里也可以修改為None(沒有分割線),看你自己的心情了,然后修改background的顏色為灰色,如圖所示:
? ? 最后,我們需要調整兩個section的高度,這就需要我們重寫tableView里面的兩個方法,打開MoreTableViewController.swift,重寫下面的兩個方法:heightForHeaderInSection和heightForFooterInSection,分別表示section的頭部和尾部高度,別問我怎么知道的,多看看Api試試就知道了,另外這里需要簡單的計算一下,設置合適的高度,如下所示:
? ? 運行一下,你會發現section已經有了正確的高度,不過還有個小瑕疵,多余的單元格,仍然顯示在了頁面上,如下:
? ? 要解決這個問題很簡單,我們只要在view加載的時候,對tableview做一點小小的設置就可以了,一句代碼搞定,如下所示:
? ? 至此,通過tableview創建靜態表格已經整理完畢,希望大家批評指正,多多交流,互相進步!
轉載于:https://my.oschina.net/realfighter/blog/700079
總結
以上是生活随笔為你收集整理的IOS开发笔记(Swift):UITableView表格视图的静态使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring MVC 下设置默认访问页面
- 下一篇: SQL Server 2005架构