Я пытаюсь удалить мой вид карты из родительского вида, а затем добавить его в какой-то момент:Удалить MAPview от родителей, а затем добавить позже
- (IBAction)setMapType:(UISegmentedControl *)sender {
switch (sender.selectedSegmentIndex) {
case 0: {
if ([self.mapView isDescendantOfView:self.view] == false) {
[self.view insertSubview:self.mapView atIndex:0];
}
break;
}
case 1:
[self.mapView removeFromSuperview];
break;
}
}
При нажатии на вторую кнопку в моем сегментированной управления mapview удаляется. Однако, когда я нажимаю на первую кнопку, похоже, что она не возвращается правильно. Я имею в виду, что он добавляется обратно к родительскому виду, но карта не появляется. Я попытался добавить его в верхнюю часть подзонов и нижнюю часть с тем же результатом.
Вы можете спросить, почему я хотел бы сделать это (как я прошу себя). Я пытаюсь дать своим пользователям возможность указывать на разные типы карт (кроме iOS). MKMapView укажет на карты iOS, которые являются удивительными, но я хочу также отобразить карту RMMapView (mapbox/routeme). Я не уверен, что лучше всего подходит для обмена и отображения карт. Должен ли я удалять старые виды карт при свопинге и создавать новостные? Или я должен держать вокруг старого вида карты, но просто удалить их из вида?
Я думаю, что произошло то, что я добавил MapView как свойство через раскадровку. Имущество было установлено как слабое. Угадав, что, возможно, когда я удалил его из родительского представления, он был выпущен (хотя на 100% не уверен). Создание MapView частной переменной «fixed». – lostintranslation
Возможно, я нашел ошибку. Если я удалю RMMapView из супервизора, а затем добавлю обратно в следующую ошибку, вызывается: Mapbox [29859: a0b] Иерархия представления не подготовлена к ограничению: –
lostintranslation