啦啦爱在线观看免费视频6_花季传媒3.072_美女跪下吃男人j8免费视频_别揉我胸嗯啊

十三年專注于網(wǎng)站建設(shè)與互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā),低調(diào)、有情懷的網(wǎng)絡(luò)應(yīng)用服務(wù)商!
南昌百恒科技微信公眾號(hào) 掃一掃關(guān)注
tel-icon全國(guó)服務(wù)熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒科技微信公眾號(hào)

IOS開(kāi)發(fā)之表視圖的可重用對(duì)象

百恒科技 2019-01-16 17:15:15 2753
? ? ? ?在iOS 6之后,表視圖中有兩種子視圖采用可重用對(duì)象設(shè)計(jì),它們是表視圖單元格(UITableViewCell)和表視圖節(jié)頭節(jié)腳視圖(UITableViewHeaderFooterView)。下面百恒科技小編就帶大家一起來(lái)了解一下。

? ? ? ?1、表視圖單元格
? ? ? ?表視圖單元格的重用方法有兩個(gè):dequeueReusableCellWithIdentifier:方法和 dequeueReusableCellWithIdentifier:forIndexPath:方法。

? ? ? ?通過(guò)dequeueReusableCellWithIdentifier:方法,可以用標(biāo)識(shí)符從表視圖中獲得可重用單元格,模式代碼如下:
? ? ? ?let cellIdentifier = "CellIdentifier"
? ? ? ?var cell:UITableViewCell! =
? ? ? ?tableView.dequeueReusableCellWithIdentifier(cellIdentifier)
? ? ? ??as? UITableViewCell
? ? ? ?if (cell == nil) {
? ? ? ??cell = UITableViewCell(style: UITableViewCellStyle.Default,
? ? ? ??reuseIdentifier:cellIdentifier)
? ? ? ?}? ? ? ??

? ? ? ?static NSString *CellIdentifier = @"CellIdentifier";
? ? ? ?UITableViewCell *cell = [tableView
? ? ? ??dequeueReusableCellWithIdentifier:CellIdentifier];
? ? ? ?if (cell == nil) {
? ? ? ??cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
? ? ? ??reuseIdentifier:CellIdentifier];
? ? ? ??}?

? ? ? ?要在表視圖數(shù)據(jù)源的tableView:cellForRowAtIndexPath:方法中使用可重用單元格設(shè)計(jì),首先通過(guò)
? ? ? ?dequeueReusableCellWithIdentifier:方法從表視圖中找,如果cell為空,則需要使用initWithStyle:reuseIdentifier:構(gòu)造器創(chuàng)建。?

? ? ? ?dequeueReusableCellWithIdentifier:forIndexPath:方法是iOS 6之后提供的方法。與上一個(gè)方法相比,該方法的簽名多了forIndexPath:部分。它可以通過(guò)指定單元格位置獲得可重用單元格,不需要判斷,模式代碼如下:
? ? ? ?let CellIdentifier = "CellIdentifier"
? ? ? ?var cell:UITableViewCell! = tableView.dequeueReusableCellWithIdentifier
? ? ? ??(CellIdentifier, forIndexPath:indexPath) as? UITableViewCell

? ? ? ?static NSString *CellIdentifier = @"CellIdentifier";
? ? ? ?UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:
? ? ? ??CellIdentifier forIndexPath:indexPath];?

? ? ? ?這個(gè)方法的使用有一些限制,它只能應(yīng)用于iOS故事板中,并且在故事板中設(shè)計(jì)表視圖單元格后,指定表視圖單元格為動(dòng)態(tài)的,Identifier屬性設(shè)置為cellIdentifier。圖1設(shè)定了表視圖單元格的屬性。

IOS開(kāi)發(fā)之表視圖的可重用對(duì)象
圖1、表視圖中的可重用單元格

? ? ? ?2、表視圖節(jié)頭節(jié)腳視圖
? ? ? ?UITableViewHeaderFooterView也是iOS 6之后新加的內(nèi)容,節(jié)頭和節(jié)腳也會(huì)反復(fù)出現(xiàn),它也需要可重用設(shè)計(jì)。

? ? ? ?使用表視圖的dequeueReusableHeaderFooterViewWithIdentifier:方法獲得UITableViewHeaderFooterView對(duì)象后,如果沒(méi)有可重用的UITableViewHeaderFooterView對(duì)象,則使用initWithReuseIdentifier:構(gòu)造器創(chuàng)建。其模式代碼如下:
? ? ? ?override func tableView(tableView: UITableView, viewForHeaderInSection
? ? ? ??section:Int) -> UIView? {

? ? ? ??let headerReuseIdentifier = "TableViewSectionHeaderViewIdentifier"

? ? ? ??var sectionHeaderView :UITableViewHeaderFooterView!
? ? ? ??= tableView.dequeueReusableHeaderFooterViewWithIdentifier
? ? ? ??(headerReuseIdentifier) as? UITableViewHeaderFooterView

? ? ? ??if sectionHeaderView == nil {
? ? ? ??sectionHeaderView
? ? ? ??= UITableViewHeaderFooterView(reuseIdentifier:
? ? ? ??headerReuseIdentifier)
? ? ? ??}
? ? ? ??......
? ? ? ??return sectionHeaderView
? ? ? ?}? ? ? ??

? ? ? ?- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:
? ? ? ??(NSInteger)section
? ? ? ?{
? ? ? ??static NSString *headerReuseIdentifier =
? ? ? ??@"TableViewSectionHeaderViewIdentifier";
? ? ? ??UITableViewHeaderFooterView *sectionHeaderView = [tableView
? ? ? ??dequeueReusableHeaderFooterViewWithIdentifier:
? ? ? ??headerReuseIdentifier];
? ? ? ??if (!sectionHeaderView) {
? ? ? ??sectionHeaderView = [[UITableViewHeaderFooterView alloc]
? ? ? ??initWithReuseIdentifier:headerReuseIdentifier];
? ? ? ??}
? ? ? ??......
? ? ? ??return sectionHeaderView;
? ? ? ?}

? ? ? ?需要在表視圖委托協(xié)議UITableViewDelegate中的tableView:viewForHeaderInSection:方法中使用可重用對(duì)象設(shè)計(jì)。?

? ? ? ?關(guān)于IOS開(kāi)發(fā)中表視圖的可重用對(duì)象就先介紹到這里,了解更多關(guān)于南昌APP開(kāi)發(fā)方面的知識(shí),歡迎繼續(xù)關(guān)注本公司網(wǎng)站!
400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)

歡迎您的光顧,我們將竭誠(chéng)為您服務(wù)×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
售后服務(wù) 售后服務(wù)
 
×