TableView測試的零散筆記
Published in
6 min readMar 8, 2020
UITableView/Cell/Header
前言
延續前一篇文章,這一篇也來記錄一下關於UITableView的幾個練習項目,關於細節內容,請直接參考程式碼。
練習項目
由於對應到各自字的ViewController內,因此就採用VC來做簡單的分類,當然有些重複練習的功能項目,就不會重複列出。
而這一篇的初始畫面比較簡單,直接使用StackView內,包含各個連結的按鈕,並使用segue來做轉場
Lyrics
- AVSpeechSynthesizer() 練習如何點選Cell後,說出對應的文字
Lover
List/Edit/Add
- 設定所有cell的高度
- IBSegueAction
- unwindToLoverTableView (分為新增/修改)
- viewWithTag()
- convert(:to:)課堂中的幾個相關練習,Cell, Model建立,轉場以及傳值
- TableView直接拉入View,當作Header (Edit頁面)
- 自訂HeaderView,繼承自『UITableViewHeaderFooterView』(Add頁面)
- TableView內註冊自訂HeaderView
- tableView的deleteRow
AutoLayoutCell
- 念奴嬌,練習讓Cell自動計算高度 (ref1)
- 由subview的constraint決定superview的大小
TableViewDiffableDataSource
- iOS 13利用diffable data source顯示表格內容 (ref2)
Static Cells Height
- 如何讓 Static Cells 自動計算高度 (ref3)
ReOrder
- Making table cells reorderable (ref4)
其他練習
Storyboard分拆
- 選擇要拆分的VC => Editor => Refactor to Storyboard =>
Enter new SB name
extension練習
- 加入String+isBlank.swift
- 命名風格為『型別 + 方法』
- 判斷空白的好方法 (ref5)
使用方式範例:
private func getErrors() -> [String] { var result: [String] = [] if nameTextField.text?.isBlank == true { result.append("名字") } if introTextField.text?.isBlank == true { result.append("簡介") } return result}
總結
本文中所做的內容,大部分都是看教材一邊練習的簡單功能,以及補充教材的練習項目。也加上了一些自己想練習的項目,細節請參考Github程式碼。
Reference
- 從 auto layout 算出 cell 高度的 Interface Builder — Xcode 11 新功能
2. 利用 diffable data source 顯示表格內容
3. 如何讓 Static Cells 自動計算高度
4. Making table cells reorderable
5. Swift5中如何判断一个字符串是否为空字符串(包含多个空格的情况)
6. Adding Headers and Footers to Table Sections