[問題] Swift如何取得UITableViewCell大小

看板MacDev作者 (severus)時間9年前 (2015/03/02 17:47), 編輯推噓3(3017)
留言20則, 4人參與, 最新討論串1/1
小弟 swift新手 看了幾個實例影片跟著做了幾個app 我想做一個功能, 當點到UITableViewCell的時候可以往下展開到適當的大小 (根據文字內容,越多字展開越大高度) 目前是做到可以點擊後展開到一個設定好的常數值,但是無法動態選擇 附上目前功能的code http://imgur.com/t8v18eZ
註解掉那行我有試過cell.frame.size.height 可是得到的值還是44(預設高度) 有人能提點一下嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.120.104 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1425289642.A.18C.html

03/02 17:58, , 1F
Cell的正確高度只能在willDisplayCell:的時候取得
03/02 17:58, 1F

03/02 18:18, , 2F
不好意思可以再詳細說明一點嗎 剛接觸不到一週而已
03/02 18:18, 2F

03/02 18:19, , 3F
不過本身資工系所以多少有點概念
03/02 18:19, 3F

03/02 20:21, , 4F
我的想法是在cellForRowAtIndexPath這邊建立Cell的時候
03/02 20:21, 4F

03/02 20:23, , 5F
將Cell實際高度加入一個Array中,然後再將點到的index帶進
03/02 20:23, 5F

03/02 20:24, , 6F
Array裡面找對應的Height,就可以動態改變了
03/02 20:24, 6F

03/02 22:18, , 7F
基本上你想要的是可以依照內容決定高度
03/02 22:18, 7F

03/02 22:19, , 8F
03/02 22:19, 8F

03/02 22:47, , 9F
你貼的我試了,但他的是直接一開始就自動調整cell高度
03/02 22:47, 9F

03/02 22:47, , 10F
跟這篇做法一樣 http://goo.gl/j7YfWi 這篇的還簡單點
03/02 22:47, 10F

03/02 22:48, , 11F
我現在是希望一開始大家的高度都是44(預設) 然後選到某個
03/02 22:48, 11F

03/02 22:48, , 12F
cell之後,再根據內容展開到適當的高度
03/02 22:48, 12F

03/02 22:55, , 13F
@BS0824 沒辦法 我在你說的那邊印出高度,得到的還是預設44
03/02 22:55, 13F

03/02 22:56, , 14F
沒辦法得到全部內容都顯示時需要的高度
03/02 22:56, 14F

03/02 23:19, , 15F
請參考ios7 的做法用 systemLayoutSizeFittingSize:
03/02 23:19, 15F

03/02 23:26, , 16F
我剛看了,ios7的code是objetive-C的@_@ 不是swift的
03/02 23:26, 16F

03/02 23:41, , 17F
swift 也有一模一樣的API
03/02 23:41, 17F

03/02 23:54, , 18F
耶我找到了 終於成功了 分享一下 http://imgur.com/STilRW1
03/02 23:54, 18F

03/02 23:55, , 19F
google johnlinvc大提到的api找到這個http://goo.gl/LRPeM8
03/02 23:55, 19F

03/03 00:14, , 20F
感謝 johnlinvc
03/03 00:14, 20F
文章代碼(AID): #1Kz36g6C (MacDev)