日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Swift之点击UITableView单元格动态改变cell高度

發布時間:2024/5/21 编程问答 142 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Swift之点击UITableView单元格动态改变cell高度 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于上一篇文章,繼續需要實現點擊相應的表格單元格動態改變cell的高度(上一篇文章的地址Swift之動態適配UITableView的cell高度)

  • 首先需要實現UITableView的tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)協議;
  • 其次,需要一個字典記錄已經點擊的單元格,從而再次點擊單元格刷新表格視圖;
  • 改寫tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell協議。
var middleDict:Dictionary<String,String> = [:] // 記錄已經點擊的單元格func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {var cell:PoemTableViewCell = tableView.dequeueReusableCell(withIdentifier: identifier, for: indexPath) as! PoemTableViewCellif cell .isEqual(nil) {cell = PoemTableViewCell.init(style: .default, reuseIdentifier: identifier)}cell.showLabel.text = textArray[indexPath.row] as? Stringcell.selectionStyle = .none// 改變showLabel的numberOfLinesif middleDict[String(indexPath.row)] == "0" {cell.showLabel.numberOfLines = 0} else {cell.showLabel.numberOfLines = 1}return cell}// 實現didSelectRowfunc tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {let cell:PoemTableViewCell = tableView.cellForRow(at: indexPath) as! PoemTableViewCellif cell.showLabel.numberOfLines == 0 {cell.showLabel.numberOfLines = 1middleDict[String(indexPath.row)] = "1"} else {cell.showLabel.numberOfLines = 0middleDict[String(indexPath.row)] = "0"}self.myTableView.reloadData() }
  • 點擊cell之后,動態改變cell高度還可以添加動畫效果,只需要替換self.myTableView.reloadData()為self.myTableView.beginUpdates()和self.myTableView.endUpdates();
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {let cell:PoemTableViewCell = tableView.cellForRow(at: indexPath) as! PoemTableViewCellself.myTableView.beginUpdates()if cell.showLabel.numberOfLines == 0 {cell.showLabel.numberOfLines = 1middleDict[String(indexPath.row)] = "1"} else {cell.showLabel.numberOfLines = 0middleDict[String(indexPath.row)] = "0"}self.myTableView.endUpdates() // self.myTableView.reloadData()}
  • 最后再跟大家分享一個小技巧:UITableView的分割線默認是開頭空15像素點,當我們需要頂格顯示時,只需要重載viewDidLayoutSubviews()方法和實現tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath)即可;
override func viewDidLayoutSubviews() {self.myTableView.separatorInset = .zeroself.myTableView.layoutMargins = .zero}func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {cell.separatorInset = .zerocell.layoutMargins = .zero}

總結

以上是生活随笔為你收集整理的Swift之点击UITableView单元格动态改变cell高度的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品久久亚洲 | 国产激情精品一区二区三区 | 直接看的av | 少妇久久久 | 亚洲av综合色区无码一区爱av | 超碰av在线免费观看 | 好大好爽视频 | 最新福利在线 | 成人亚洲玉足脚交系列 | 一级淫片免费看 | 国产精品久久久久久久久绿色 | 天天插天天搞 | 国产丝袜视频在线观看 | 午夜欧美日韩 | 欧美欧美欧美欧美 | 久久久免费看片 | 九九自拍 | 午夜操一操 | 成人在线综合网 | 超碰在线免费97 | 我们的生活第五季在线观看免费 | 天天久久 | 欧美另类videossexo高潮 | 欧美老女人性生活 | 久久婷婷网站 | 无遮挡的裸体按摩的视频 | 日本在线视频www | 黑料视频在线观看 | 91成年人视频 | 超碰97干 | 欧美午夜视频在线观看 | 无码国产精品96久久久久 | 人人澡人人爱 | 午夜伦视频 | 69精品丰满人妻无码视频a片 | 不卡av电影在线观看 | h片在线免费观看 | 国产电影一区在线观看 | 午夜视频a | 久月婷婷 | 亚洲成人第一网站 | 在线观看福利片 | 国产三级播放 | 亚洲色成人网站www永久四虎 | 日韩一区二区在线观看 | 男男巨肉啪啪动漫3d | 五月天一区二区 | 日韩有码在线播放 | 韩国19主播内部福利vip | 国产人成一区二区三区影院 | 小色哥网站 | 欧美极品少妇xxxxⅹ免费视频 | 一区二区三区视频免费在线观看 | 欧美国产日韩在线观看 | 久久久久久毛片 | 国产伦理自拍 | 国产夫妻自拍小视频 | 超碰在线亚洲 | 午夜免费精品 | 欧美在线视频二区 | 成人h在线 | 国产精久久久久久 | 饥渴少妇色诱水电工 | 搞黄视频在线观看 | 亚洲一区在线看 | 在线观看亚洲精品 | 人人天天夜夜 | 男女啪啪av | 精品一区二区视频在线观看 | 国产精品视频一 | 欧美一区二区三区视频 | 长河落日电视连续剧免费观看 | 欧美色图12p | 涩涩天堂 | 欧洲美女av | 伊人365 | 精品欧美一区二区三区 | 国产成人三级在线播放 | 亚洲精品成人无码熟妇在线 | 国产 欧美 日韩 在线 | 国产精品第8页 | 91日韩在线视频 | 欧美精品一区二区三区三州 | 亚洲精品一区二区三区影院忠贞 | 欧美日韩黄色片 | 国产高清久久久 | 免费无码又爽又黄又刺激网站 | 日韩专区第一页 | 僵尸叔叔在线观看国语高清免费观看 | 亚洲老老头同性老头交j | zzjj国产精品一区二区 | 色操插| 中文字幕av片 | 成人春色影视 | 一区二区三区视频在线观看 | 国产精品自拍第一页 | 久久99在线 | 日韩另类av| 亚洲av男人的天堂在线观看 |