Возможно, многие из нас столкнулись с этой проблемой при UITableView
методе делегата - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
, который вызывается дважды.
В моем приложении я преобразовал tableView. Код как под:
CGAffineTransform transform = CGAffineTransformMakeRotation(-M_PI/2);
theTableView.transform = transform;
theTableView.rowHeight = self.bounds.size.width;
theTableView.frame = self.bounds;
Теперь внутри метода делегата я делаю пару вещей:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
modelRef.currentCellAtIndexPathRow = indexPath.row;
static NSString *CellIdentifier = @"Cell";
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier frame:self.bounds] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
modelRef.currentPageIndex = (indexPath.row + 1);
[cell showPage];
NSLog(@" visible cell %i ",[[tableView visibleCells] count]);
return cell;
}
За один раз видна 1 ячейка, но при первом запуске приложения. Журнал показывает видимые ячейки 0.
Много раз этот конкретный метод делегата вызывается дважды внезапно.
Есть идеи или предложения, как это решить?
Большое спасибо заранее.
Привет.