我有一个
MKMapView
在
UITableViewCell
. 所需的效果(实际上是地图在某个位置的静态图像)非常好,但是当
MKMapView视图
在屏幕上或屏幕外移动(滚动)它重新加载地图,这有时会导致应用程序崩溃。我已经把海关
UITableViewCell
像其他人一样
UITableViewCell
在里面
cellForRowAtIndexPath
:
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
但这还不够快!
编辑:更新代码。这是此方法的完整代码。我的自定义TableViewCell分配是否不正确?