日韩性视频-久久久蜜桃-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在线电影 | 中国女人内精69xxxxxx | 国产欧美视频一区二区三区 | 人人草人人搞 | 久久大陆| 日韩视频免费观看 | 在线视频观看一区 | 中文字幕av二区 | 激情久久网站 | aaa成人| 国产精品人成在线观看免费 | 色综合综合 | 精品国产乱码久久久久久浪潮 | 亚洲精品乱码久久久久久黑人 | 日日狠狠久久 | 亚洲第一色区 | 日韩欧美在线视频播放 | 天天艹天天操 | 欧洲成人av | 久久精品a亚洲国产v高清不卡 | 操少妇视频 | 成人综合影院 | 欧美性天天影院 | 欧美日韩精品在线视频 | 日本涩涩网站 | 中文字幕乱码在线 | 麻豆欧美 | 国产91高清| 色秀视频网 | 日日夜夜天天干 | 一级全黄色片 | 黄色com | 亚洲精品网站在线播放gif | 爱爱视频网 | 天天色天天射天天干 | 久久久久久九九九 | 日韩精品在线免费观看视频 | 日韩在线免费观看视频 | 成人性视频免费网站 | 国产美女操 | 日本网站黄色 | 久久国产视频网 | 欧美日韩国产一区二区三区 | 国产精品国产精品国产专区蜜臀ah | 黄色三级网| 特种兵之深入敌后 | 精品人妻一区二区三区久久 | a级无遮挡超级高清-在线观看 | 久草视频福利在线 | www.精品久久| 嫩草在线视频 | 色呦呦国产 | 91传媒在线免费观看 | 日韩av在线免费观看 | 国产成人在线视频观看 | 国产高清自拍视频 | 日本久久高清视频 | www麻豆 | 99精品久久久久久 | 美女91网站 | 国产女人叫床高潮大片免费 | 欧美草b| www.天天综合 | 91精品国产综合久久久久久久 | 精品一区二区三区在线播放 | www伊人网| 国产乱了高清露脸对白 | 无码人妻一区二区三区一 | 精品国产三级片在线观看 | 亚洲最大福利 | 成人在线视频网 | 精品久久久久久久免费人妻 | 男女啪啪毛片 | 3o一40一50一6o女人毛片 | 久久久一级黄色片 | 欧美 日韩 国产 激情 | 97精品人妻麻豆一区二区 | 亚洲AV无码精品久久一区二区 | 涩av| 国产精品99精品久久免费 | 午夜精品无码一区二区三区 | 欧美人与动牲交xxxxbbbb | 怡红院最新网址 | 国产乱淫av一区二区三区 | 超碰毛片 | 日韩精品一区二区在线看 | 亚洲精品黄色片 | 精品国产一区二区三区性色 | 女~淫辱の触手3d动漫 | 日韩一级av毛片 | 午夜在线观看影院 | 免费观看日批视频 | 美女扒开腿让人桶爽原神 | 四虎影院成人 | 欧美精品1| 中文字幕一区二区人妻在线不卡 | 日本美女性爱视频 | 在线亚洲综合 | 女人下面无遮挡 |