動態展開tableview的cell[2]
這份**也是參考別人而寫的-_-!
效果:
其實呢,這份**本人是不推薦的,很難維護,因為他的原理就是新增刪除cell,會有這複雜的刪除新增邏輯.
原始碼:
//核心的地方-//inserttableviewcell
////
//#import
"rootviewcontroller.h
"@inte***ce rootviewcontroller ()@property (nonatomic, strong) uitableview *tableview;
@property (nonatomic, strong) nsmutablearray *dataarray;
@end
@implementation
rootviewcontroller
- (void
)viewdidload
;
nsarray *array =@[dic, dic, dic, dic, dic, dic, dic, dic, dic, dic, dic,
dic, dic, dic, dic, dic, dic, dic, dic, dic, dic, dic];
_dataarray =[nsmutablearray arraywitharray:array];
//初始化tableview
_tableview =[[uitableview alloc] initwithframe:self.view.bounds
style:uitableviewstyleplain];
_tableview.
delegate =self;
_tableview.datasource =self;
[self.view addsubview:_tableview];}//
***********************************=
#pragma mark -
#pragma mark datasource
//***********************************=
- (nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section
- (nsinteger)numberofsectionsintableview:(uitableview *)tableview
//重繪重用會一直走這個方法
- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath
cell.textlabel.text = @"
youxianming";
cell.selectionstyle =uitableviewcellselectionstylenone;
cell.backgroundcolor =[uicolor whitecolor];
return
cell;
}if ([_dataarray[indexpath.row][@"
cell
"] isequaltostring:@"
attachedcell"])
cell.textlabel.text = @"
nozuonodie";
cell.textlabel.textcolor =[uicolor redcolor];
cell.textlabel.font = [uifont fontwithname:@"
helveticaneue-thin
"size:
12.f];
cell.selectionstyle =uitableviewcellselectionstylenone;
cell.backgroundcolor =[uicolor whitecolor];
return
cell;
}return
nil;}//
***********************************=
#pragma mark -
#pragma mark delegate
//***********************************=
- (cgfloat)tableview:(uitableview *)tableview heightforrowatindexpath:(nsindexpath *)indexpath
else
}- (void)tableview:(uitableview *)tableview didselectrowatindexpath:(nsindexpath *)indexpath
else
if ([self.dataarray[indexpath.row][@"
isattached
"] boolvalue] ==yes)
;[self.dataarray removeobjectatindex:path.row];
[self.tableview beginupdates];
[self.tableview deleterowsatindexpaths:@[path]
withrowanimation:uitableviewrowanimationautomatic];
[self.tableview endupdates];
}else
;
nsdictionary * adddic = @;
[self.dataarray insertobject:adddic
atindex:path.row];
[self.tableview beginupdates];
[self.tableview insertrowsatindexpaths:@[path]
withrowanimation:uitableviewrowanimationautomatic];
[self.tableview endupdates];
}}@end
執行下面的操作(增加或者刪除修改等):
會導致強制計算所有cell的高度:
這一點沒有處理好是會影響效能的,注意哦.
沒有更多的地方需要說的了......
動態展開tableView的cell 2
這份 也是參考別人而寫的 效果 其實呢,這份 本人是不推薦的,很難維護,因為他的原理就是新增刪除cell,會有這複雜的刪除新增邏輯.原始碼 inserttableviewcell import rootviewcontroller.h inte ce rootviewcontroller prope...
qml 動態建立TableView
在qml應用開發中,經常會用到tableview來顯示資料,而有時 又不是固定的,需要根據不同的情況來變換 的標題和內容。本次部落格將會介紹怎樣在qml中動態的建立tableview。首先建立乙個檔案datashowtable.qml,首字母要大寫,這些大家應該都知道吧。import qtquick...
一種可展開伸縮的tableView實現
簡單實現了乙個可展開收縮的tableview,可多級展開,一次收縮,類似於樹形結構,可擴充套件性強。1 結點型別 inte ce ymtreenode nsobject property nonatomic,copy nsstring nodename 結點名字 property nonatomic...