2016-02-20 74 views
2

我想禁用滾動時重新載入表視圖。現在,我的應用程序,當用戶滾動uitableview,cellForRowAtIndexPath已被召回。在iOS中滾動時禁用uitableview禁用重用

觀光viewDidLoad中

[listingTableView registerNib:[UINib nibWithNibName:@"TripCardCell" bundle:nil] forCellReuseIdentifier:[TripCardCell cellID]]; 

觀光的cellForRowAtIndexPath

if (cell == nil) { 
        cell = [[TripCardCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:[TripCardCell cellID]]; 
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
    } 
+0

這是否適合您的工作 –

回答

0

的UITableViewCell類參考

的重用標識符與表視圖委託創建的UITableViewCell對象關聯,意圖將其重用爲表視圖的多行的基礎(出於性能原因)作爲 基礎。它將 分配給initWithFrame中的單元對象:reuseIdentifier:和 此後不能更改。 UITableView對象維護當前可重用單元的隊列 (或列表),每個單元都有自己的重複使用 標識符,並使它們可用於dequeueReusableCellWithIdentifier:方法中的委託。 reuseIdentifiers

使用dequeueReusableCellWithIdentifier了的tableView的

優勢,可以大大 加快速度。除了實例化很多單元格之外,您只需根據需要實例化多個單元格,即可以看到許多單元格,即可以自動處理這些單元格的多個單元格 。如果滾動到列表 中有「單元格」尚未得到其視覺表示 的區域,而不是實例化新的區域,則可以重新使用已有的 。

禁用滾動

時,無法阻止的cellForRowAtIndexPath重裝實現代碼如下:從當 滾動tableview中調用。如果某件事情不需要每次都發生,那麼您可能會在條件允許的情況下保持它。

if (cell == nil) 
    { 
     //Functionality goes here when it not needed to happen every time. 
    }