国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

IOS通過button獲取cell

2019-11-14 20:04:01
字體:
來源:轉載
供稿:網友

在使用tableview時,有時我們需要在cell中添加button和label,以便添加某項功能,而且往往點這個button的方法中需要知道button所在cell中label內存放的值。

一般而言我們可以用tag來做,但當table有很多行的時候,設置tag就沒有那么方便了,這里我介紹另外一種方法。

我們知道IOS里每一個視圖都有父視圖,那我們可不可以用這個方法獲取cell呢?

經過一番查找測試發現superview方法可以找到button所在cell

給button寫上這樣的方法

-(void)btn_Onclick:(id)sender{    UIButton *btn = (UIButton *)sender;        NSLog(@" [btn superview] =  %@ ",[[btn superview]class]);    NSLog(@" [[[btn superview]superview]class] = %@",[[[btn superview]superview]class]);}

輸出結果如下

2014-09-10 19:09:42.203 superview[4720:60b]  [btn superview] =  UITableViewCellScrollView 2014-09-10 19:09:42.646 superview[4720:60b]  [[[btn superview]superview]class] = UITableViewCell

說明這樣沒問題。但經過我的測試發現,對于自己寫的繼承自uitableviewcell的類,(這里我是SongTableViewCell)需要稍作修改。

    NSLog(@" [btn superview] =  %@ ",[[btn superview]class]);    NSLog(@" [[[btn superview]superview]class] = %@",[[[btn superview]superview]class]);    NSLog(@" [[[btn superview]superview]superview]class] = %@",[[[[btn superview]superview]superview] class]);

輸出結果如下:

2014-09-10 18:54:50.036 Music_Player[4451:60b]  [btn superview] =  UITableViewCellContentView 2014-09-10 18:54:50.036 Music_Player[4451:60b]  [[[btn superview]superview]class] = UITableViewCellScrollView2014-09-10 18:54:50.036 Music_Player[4451:60b]  [[[btn superview]superview]superview]class] = SongTableViewCell

PS:對于viewwithtag方法多說一句,這個方法不能尋找tag為0的控件,就算自己button的tag為0也無法找到,猜測是與系統默認的空間重復。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陕西省| 昌吉市| 江孜县| 滁州市| 宁化县| 石河子市| 五莲县| 措勤县| 宜宾县| 焦作市| 池州市| 鸡泽县| 峨山| 紫云| 博罗县| 烟台市| 秦安县| 甘孜县| 榆树市| 哈密市| 岳阳市| 循化| 乳山市| 繁峙县| 贵阳市| 观塘区| 鹤山市| 古浪县| 和政县| 宁安市| 兴化市| 汶上县| 政和县| 商河县| 高邮市| 教育| 马山县| 金平| 苏尼特左旗| 临武县| 常德市|