nstableview自定義的cell怎麼獲取當前點選所在的行

2022-03-08 04:22:21 字數 3305 閱讀 6314

1樓:愛因為愛上你

在自定義uitableviewcell中建立了一個按鈕。

想在點選該按鈕時知道該按鈕所在的cell在tableview中的行數。就是cell的 indexpath.row

兩種方法都很好。

-(ibaction):(id)sender

-(uitableviewcell *)tableview:(uitableview *)tableview

cellforrowatindexpath:(nsindexpath *)indexpath

//新增button

uibutton *but = [uibutton buttonwithtype:uibuttontypecustom];

[but setbackgroundimage:[uiimage imagenamed:@"delete.

png"] forstate:uicontrolstatenormal];

[but setframe:cgrectmake(280, 10, 30, 30)];

[but setalpha:0.8];

[but addtarget:self action:@selector(del:

) forcontrolevents:uicontroleventtouchupinside];

[cell.contentview addsubview:but];

//設定tag為cell 對應的indexpath row

for(id view in subviews)}}

//button事件

-(void)del:(id)sender

2樓:一卟小心

人家問的是nstableview 你給回答的是uitableview 一個是mac 一個是ios 不一樣的

nstableview自定義的cell怎麼獲取當前點選所在的行

3樓:匿名使用者

在uitableview裡面,選擇了某一個cell以後,點選立刻取消該cell的選中狀態,可以使用如下方法:-(void)tableview:(uitableview*)tableviewdidselectrowatindexpath:

(nsindexpath*)indexpath

4樓:匿名使用者

用的 shouldselectrow 就是。

- (bool)tableview:(nstableview *)tableview shouldselectrow:(nsinteger)row

點選tableview的一個cell時如何獲取這個cell所在的組數和行數

如何獲取點選的uitableview的cell的內容

5樓:匿名使用者

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

方法裡 設定uitableviewcell *cell = [table cellforrowatindexpath:indexpath]; 然後獲取cell屬性裡面的內容

uitableview中關於cell裡的按鈕被點選時如何確定是哪一個cell

6樓:pest永遠幸福兒

1 想解決問題 自新建類 繼承uibutton 面加屬性 int行 設定cell候 讓int等於 indexpath.row (比較麻煩 需要自定義button 能要自定義cell)

2 給每button設定tag值 indexpath.row+固定數(實現簡單 **健壯邏輯複雜處理)

3自定義cell btnclick事件 cell處理 cell候 注入依賴文 cell 種類 用工廠模式抽象 需要用協議寫介面 要注意 引用context候要區 weak strong (避免迴圈引用) 協議熟悉 用通知調viewcontroller (種 發者基礎要求教高 比較推薦 **健壯 重用性高 封裝較 )

4 用block封裝 處理事件 類似1 需要重寫btn(推薦 記憶體佔用 )

其 列舉 底搞 要腦 根據實際情況 ios發比較自由 實現功能!

自定義 uitableviewcell 怎樣在子控制元件觸發時得到 indexpath

7樓:匿名使用者

例如 每個uitableviewcell裡有個uitextfield,當uitextfield獲得焦點時不會觸發tableview的

didselectrowatindexpath方法,就不能知道觸發是哪個cell,下面方法可以獲得uitextfield所在行的

indexpath,方法很簡單,注意兩種方式。

如果是將textfield新增在cell.contentview上:

objective-c**

//獲得row

nsinteger row = [[self.tableview indexpathforcell:(uitableviewcell *)[[sender superview] superview]] row];

//獲得section

nsinteger row = [[self.tableview indexpathforcell:(uitableviewcell *)[[sender superview] superview]] section];

//獲得indexpath

nsindexpath *indexpath = [self.tableview indexpathforcell:(uitableviewcell *)[[sender superview] superview]];

如果是直接新增到cell上:

objective-c**

//獲得row

nsinteger row = [[self.tableview indexpathforcell:(uitableviewcell *)[sender superview]] row];

//獲得section

nsinteger section = [[self.tableview indexpathforcell:(uitableviewcell *)[sender superview]] section];

//獲得indexpath

nsindexpath *indexpath = [self.tableview indexpathforcell:(uitableviewcell *)[sender superview]];

mysql自定義函式怎麼寫

mysql create function helloworld4 returns varchar 20 begin return hello world e69da5e6ba9062616964757a686964616f31333365643538 end query ok,0 rows aff...

Excel中怎樣自定義函式

自定義函式bai,一般用vb,下面以du 長方體的體積公式zhi為例,詳細dao 一步步介紹版 1 開啟 excle後,按權alt f11,開啟 visual basic編輯器 2 visual basic編輯器 中,選擇 插入 模組 3 在如圖的位置,輸入以下 function mj a,b,c ...

如何自定義Office功能區

自定義office功能區方法如下 1 啟動任意office系列應用軟體 word excel powerpoint等 點選檔案 選項 2 在彈出的檔案選項對話方塊中,切換到自定義功能區,勾選或取消功能區選單。就實現了自定義office功能區。截圖示例為excel功能區自定義。3 在實際的辦公需求或應...