IOS開發筆記(Swift):UITableView表格視圖的靜態使用

    最近一段時間都在準備IOS的開發,學習swift語言,以前作過不少類型的開發:前端、Java Web、.net、Android等,IOS是第一次接觸,很不適應,學習的進度也比較慢,不過在看過一些視頻、幾本pdf以後,總算有了一點心得。從今天起,開始作一些整理,一方面加深本身的認知,另外一方面也能夠方便他人,共同討論和進步,本文經過一個實例,整理一下UITableView表格視圖的靜態使用。前端

    本文使用的環境是Xcode7,Swift2.2,將要建立的表格視圖是靜態的,不涉及動態數據的處理,有這方面需求的朋友請繞道,以避免耽誤您的寶貴時間。首先,看一下最終的效果圖。ios

    ios已經入門的童鞋都知道,蘋果提供了UITableView類來建立表格視圖,表格視圖應用於不少地方,app裏列表的展現、設置等等,一個表格視圖能夠包含一個或多個不一樣的部分,上面的效果圖中就是兩個部分Section(紅框),每個部分裏面能夠包含一個或多個單元格,也就是行。swift

    在蘋果提供的控件庫裏,每個行就是一個UITableViewCell,用於建立表格中的單元格,在單元格中咱們能夠展現須要的數據,每一個單元格只能屬於一個部分。app

    接下來,咱們經過一個例子,來深刻的學習一下UITableView表格視圖的使用,首先咱們須要建立一個Single View Application,命名爲UITableViewDemo,關於項目如何建立不屬於本文的學習內容,這裏再也不贅述,有需求的朋友請自行google。iphone

    咱們將經過故事板的方式進行頁面的設計,第一步,咱們打開Main.storyboard文件,先在File inspector裏面(右側欄第一個)禁用掉SizeClasses特性。SizeClasses是蘋果從Xcode6以後引入的新特性,用來解決多設備的適配問題,本文只是簡單的一個學習Demo,重心再也不多設備適配,因此不須要這個特性。工具

    而後刪除默認的viewController,從控件庫裏面拖動一個TableViewController,選中並在Attribute inspector(右側欄第四個)裏面設置爲初始的view controller。學習

    而後,咱們選中TableView,選中Attributes inspector(右側欄第四個),將content修改成靜態單元格StaticCells,並設置爲兩部分,如圖所示:google

    咱們的例子中,每一個section裏面的單元格數量也不一致,每一部分也不須要顯示頭部和尾部,咱們依次選中section,進行統一的修改,將header和footer都設置爲空,第一部分設置rows爲2,第二部分設置爲3,經過下圖所示修改:.net

    修改以後,運行一下你會發現,咱們的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建立靜態表格已經整理完畢,但願你們批評指正,多多交流,互相進步!

相關文章
相關標籤/搜索