UITableView是UIScrollView的子類物遇,因此它可以自動(dòng)響應(yīng)滾動(dòng)事件(一般為上下滾動(dòng))。
它內(nèi)部包含0到多個(gè)UITableViewCell對(duì)象香浩,每個(gè)table cell展示各自的內(nèi)容。當(dāng)新cell需要被顯示時(shí),就會(huì)調(diào)用tableView:cellForRowAtIndexPath:方法來獲取或創(chuàng)建一個(gè)cell凫碌;而不可視時(shí),它又會(huì)被釋放胃榕。由此可見盛险,同一時(shí)間其實(shí)只需要存在一屏幕的cell對(duì)象即可,不需要為每一行創(chuàng)建一個(gè)cell勋又。
1.協(xié)議介紹
UITableViewDataSource(11)
//每個(gè)section下cell的個(gè)數(shù)(必須實(shí)現(xiàn))- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section;//通過indexpath返回具體的cell(必須實(shí)現(xiàn))- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath;//返回有多少個(gè)section(默認(rèn)是1)- (NSInteger)numberOfSectionsInTableView:(UITableView*)tableView;//每個(gè)section上面的標(biāo)語內(nèi)容- (NSString*)tableView:(UITableView*)tableView titleForHeaderInSection:(NSInteger)section;//每個(gè)section下面的標(biāo)語內(nèi)容- (NSString*)tableView:(UITableView*)tableView titleForFooterInSection:(NSInteger)section;// Editing//是否可編輯- (BOOL)tableView:(UITableView*)tableView canEditRowAtIndexPath:(NSIndexPath*)indexPath;// Moving/reordering// 是否可拖拽-tableView:moveRowAtIndexPath:toIndexPath:
-?(BOOL)tableView:(UITableView*)tableView?canMoveRowAtIndexPath:(NSIndexPath*)indexPath;//?Index//右側(cè)索引條需要的數(shù)組內(nèi)容-?(NSArray*)sectionIndexTitlesForTableView:(UITableView*)tableView;//?return?list?of?section?titles?to?display?in?section?index?view?(e.g.?"ABCD...Z#")//索引值對(duì)應(yīng)的section-index-?(NSInteger)tableView:(UITableView*)tableView?sectionForSectionIndexTitle:(NSString*)title?atIndex:(NSInteger)index;//?tell?table?which?section?corresponds?to?section?title/index?(e.g.?"B",1))//?Data?manipulation?-?insert?and?delete?support//?對(duì)Cell編輯后的回調(diào)-?(void)tableView:(UITableView*)tableView?commitEditingStyle:(UITableViewCellEditingStyle)editingStyle?forRowAtIndexPath:(NSIndexPath*)indexPath;//?對(duì)Cell拖拽后的回調(diào)-?(void)tableView:(UITableView*)tableView?moveRowAtIndexPath:(NSIndexPath*)sourceIndexPath?toIndexPath:(NSIndexPath*)destinationIndexPath;