У меня есть MKMapView
с прокруткой и пользовательским отключением в пределах UITableViewCell
. Желаемый эффект (фактически статический образ карты в определенном месте) работает очень хорошо, но когда MKMapView
дрейфует на экране и прокручивается (он прокручивается), он перезагружает карту, из-за которой приложение вызывает сбои. Я загрузил обычай UITableViewCell
в как и любой другой UITableViewCell
в cellForRowAtIndexPath
:Остановить MKMapView от перезагрузки
if(indexPath.section == 0 && indexPath.row == 0)
{
MapTableViewCell *cell = (MapTableViewCell *)[tableView dequeueReusableCellWithIdentifier:[NSString stringWithFormat:@"%@Map", cellIdentifier]];
if(cell == nil)
{
cell = [[[MapTableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:cellIdentifier] autorelease];
}
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"MapTableViewCell" owner:self options:nil];
for(id currentObject in topLevelObjects)
{
if([currentObject isKindOfClass:[UITableViewCell class]])
{
cell = (MapTableViewCell *)currentObject;
break;
}
}
return cell;
}
Я обнаружил, что с этим текущим методом, если вы позволяете нагрузку изображения карты перед перемещением UITableView
, то это нормально. Но если вы переместите его с экрана, прежде чем он закончит загрузку, он сработает! :(
Я просто хочу указать, что я не хочу иметь возможность управлять картой каким-либо образом или показывать какие-либо аннотации на нее. Я попытался сделать снимок экрана, скрыть его с экрана и отобразить этот снимок экрана как UIImageView
в UITableViewCell
, но это не было достаточно быстро
EDIT:.. Обновленный код Это полный код для этого метода является ли мой заказ TableViewCell Alloc неправильно здесь
Непонятно, какого результата вы действительно хотите достичь. По приблизительной догадки, если делегатом MKMapView является ячейка, вам может потребоваться отменить делегат в -dealloc ячейки. Я также не могу понять, что должен делать ваш nib-load. – 2010-11-24 01:07:38