2012-09-12 73 views
0

我想創建UItableView,它有10個元素。然而,它創建了9個(因爲它是可見的),並且當該行可見時創建了10個,現在1個元素被銷燬(第一個)。如何在reloadTable後立即調用cellForRowAtIndexPath

有了這種方法我有一個問題,我想創建所有10行並不重要,它是否可見,何時行可見只顯示它。

這些行將被重新創建,只有當我打電話重新加載表。

這可能嗎?

謝謝。

+1

我認爲這是不可能的。不過,我有一個問題,爲什麼你需要這個? – tikhop

回答

0
  • 創建重裝前你的細胞,
  • 將它們存儲在某些數組,此數組
  • tableView:cellForRowAtIndexPath:回報細胞,
  • 如果你想重新創建它們
  • ,只是空的,已經建立細胞陣列,再次創建它們並調用重載表

事情是這樣的......

@property (nonatomic,strong) NSArray *myCells; 

... 

- (NSArray *)myCells { 
    if (_myCells) { 
    return _myCells; 
    } 

    _myCells = [NSMutableArray array]; 

    UITableViewCell *cell = [[UITableViewCell alloc] init...]; 
    [_myCells addObject:cell]; 

    ... 

    return _myCells; 
} 

- (void)reloadMyTable { 
    self.myCells = nil; 
    [self.tableView reloadData]; 
} 

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    return self.myCells.count; 
} 


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    return self.myCells[indexPath.row]; 
} 
+0

好的,謝謝我會盡力做到這一點 – Streetboy

相關問題