問題現象
TableView 僅顯示部分資料,滾動條無法拖動;但在其他裝置(真機)上運行正常。開發環境為模擬器。
可能原因與解決方案
1. 模擬器輸入裝置差異
- 模擬器使用滑鼠/觸控板模擬觸控,滾動手勢(雙指滑動或邊緣拖曳)可能與真機不同。
- 嘗試在模擬器中按住 `Option` 鍵模擬雙指捏合/滾動,或使用 `Shift+Option` 進行邊緣滾動。
2. TableView 约束與 Frame 設定錯誤
- 檢查 TableView 的 `frame` 或 Auto Layout 约束是否正確貼齊父視圖邊緣。
- 若使用 `tableHeaderView` 或 `tableFooterView`,確保其高度非零且不遮擋內容。
3. `contentSize` 計算異常
- 實作 `tableView(_:heightForRowAt:)` 時,確保回傳正確高度;若使用自動佈局,需設定 `estimatedRowHeight` 並啟用 `rowHeight = UITableView.automaticDimension`。
4. 父視圖裁切
- 檢查 TableView 的超視圖是否設定 `clipsToBounds = true` 導致內容被切割。
5. 資料源為空或筆數不足
- 在 `numberOfRowsInSection` 中印出資料筆數確認。
建議驗證流程
- 優先在真機測試(已確認真機正常)。
- 若模擬器必須測試,切換至較新版本模擬器(iPhone 14/15 系列)。
- 啟用「Debug View Hierarchy」檢視 TableView 實際 Frame 與 ContentSize。
結論
若真機表現正常,模擬器異常多為輸入模擬或版本問題,不影響上架。專注於真機測試與 Auto Layout 正確性即可。