簡體   English   中英

在 swift 5 中更改 UITableView 中的單元格大小

[英]change cell size in UITableView in swift 5

我正在使用表視圖來顯示位置列表。 出於某種原因,單元格沒有一直拉伸到視圖的每一側(即使它本身就是表視圖)。 當我在 iPhone 11 Pro 上啟動模擬器時,單元格確實會拉伸,但分隔符從距離邊緣 10p 開始,並在另一邊緣結束。 與 iPhone 11 Pro max 一樣,它從同一個位置開始,但在邊緣前 20p 左右結束。 我怎樣才能監視它,以便所有屏幕都相同? (我希望它從 10p 開始並在 10p 之前結束)添加圖片:

iPhone 11 專業版

這些是 iPhone 11 Pro 上的單元格,你可以看到分隔線一直延伸到最后iPhone 11 專業版

這些是 iPhone 11 Pro Max 上的單元格,因為您可以看到線距邊緣約 20p。 此外,與屏幕尺寸相比,它本身的單元格更小

我希望它介於兩者之間,單元格在整個屏幕上,分隔線從 10p 開始到 10p 結束,均勻。 為了清楚起見,我正在使用故事板,並且它本身的 tableview 具有等於 superview 的尾隨和前導的約束。

非常感謝!

我建議為分隔符創建一個特殊的單元格。 這樣,您將能夠控制顏色高度等等! 在這種情況下,使用枚舉非常有用,您只需在每個實際單元格模型之間添加一個分隔符模型...

var data: [CellEnumModel]
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
   let model = data[indexPath.row]
   switch model {
     case .data(let data):
       let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: MessageCell.self)
       ...
     case .sep(let color):
       let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: SepCell.self)
       ...
}

例如,在 UITableViewDelegate 中,您可以執行相同的操作並控制高度...

希望能幫助到你 (:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM