У меня есть UITableView, содержащий список карт.Когда элемент выбран, новый подвид добавляется в главное окно и отображается карта.В моем контроллере представления для отображения карты при каждом отображении вызывается следующий метод:
- (void)showMap {
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:mapImage]];
float imageHeight = tempImageView.image.size.height;
float targetHeight = scrollView.frame.size.height - mapNavigationController.navigationBar.frame.size.height;
scrollView.contentSize = tempImageView.image.size;
scrollView.maximumZoomScale = 1.0;
scrollView.minimumZoomScale = targetHeight / imageHeight;
scrollView.clipsToBounds = YES;
self.imageView = tempImageView;
[tempImageView release];
[scrollView addSubview:imageView];
scrollView.zoomScale = scrollView.minimumZoomScale;}
Новый UIImageView добавляется каждый раз в UIScrollView, а когда представление исчезает, UIImageView удаляется.Масштаб масштабирования рассчитывается таким образом, чтобы изображение соответствовало соотношению сторон.
Теперь для моей проблемы при первом нажатии на элемент все работает нормально, и изображение карты заполняет всю высоту UIScrollView, но следующееПри щелчке по элементу высота UIScrollView становится меньше.Я также должен отметить, что главное окно содержит панель вкладок.
Итак, теперь мои вопросы:
- Как UIScrollView может изменить свой размер?
- ИЕсть ли другой динамический способ получить targetHeight?
Заранее спасибо!