在程式執行中調整UITableViewCell高度

2021-08-26 05:03:31 字數 698 閱讀 4175

最近要實現下面的效果,就是在uitableview中有很多行資料,當使用者選擇某一行之後,將該行高度調整為原來2倍,其它行高度不變,改行後面的行往後順移.

這個問題困擾了很久,想過調整uitableviewcell的frame,或則調整height,或則調整origin.y,在之間插入新檢視,但發現如果選擇最後幾行中某一行,倒數一兩行不能被選中,後來又給uitableview新增手勢,但由於uitableview的重用機制,滾動後會重新調整尺寸,後來的效果不盡理想.

好事多磨,想來想去,終於找到了解決方案,就是增加乙個陣列,

bool bcheck[20]; (也可以是nsarray,裡面新增nsnumber成員,記錄cell高度,這裡簡單用bool陣列)

記錄每個cell的高度,

然後在:

- (cgfloat)tableview:(uitableview *)tableview heightforrowatindexpath:(nsindexpath *)indexpathelse{

return

50;最後處理選擇操作:

- (void)tableview:(uitableview *)tableview didselectrowatindexpath:(nsindexpath *)indexpath

bcheck[indexpath.row] = yes;

[tableview reloaddata];

在Red Hat Linux中自動執行程式

在red hat linux中自動執行程式 1 開機啟動時自動執行程式 linux載入後,它將初始化硬體和裝置驅動,然後執行第乙個程序init。init根據配置檔案繼續引導過程,啟動其它程序。通常情況下,修改放置在 etc rc或 etc rc.d 或 etc rc?d 目錄下的指令碼檔案,可以使i...

程式在CPU中執行的機制

程式在沒有執行之前是儲存在外存中的。程式被執行後,載入到記憶體中為機器語言程式,由cpu進行解析和執行,進而計算機系統整體的控制和資料運算也開始執行。程式與cpu 程式是指令和資料的組合體。例如c語言 printf hello 這個簡單的程式,printf是指令,hello 是資料。我們使用c語言等...

在c 程式中執行DOS命令

部落格 1,system 方式 在c盤根目錄下新建資料夾,名稱為12 system md c 12 執行時命令視窗會閃一下,看不到執行結果 dos 自身提供了執行多條命令的功能,符號 代表同時執行多條命令。如先切換到c下的12資料夾,然後執行dir命令 cd c 12 dir 暫停三秒後繼續程式 p...