Я настроил небольшой тестовый проект, и похоже, что contentOffset умножается на zoomScale
.Поэтому, если вы хотите учесть это, просто поделите его на zoomScale
перед его использованием.
Может быть, лучше проиллюстрировать это на небольшом примере: я настроил scrollView и добавил достаточно большой вид для панорамирования и небольшого увеличения.К этому представлению я добавил маленький красный вид, который я хочу сохранить в том же положении, несмотря ни на что.Я наблюдаю свойство contentOffset scrollView, и я реализовал его следующим образом:
CGPoint contentOffset = self.scrollView.contentOffset;
CGFloat zoomScale = self.scrollView.zoomScale;
self.moveView.frame = CGRectMake((contentOffset.x+10)/zoomScale,
(contentOffset.y+10)/zoomScale,
10,
10);
Это сохраняет MoveView в том же положении на экране, масштабируя его только тогда, когда пользователь увеличивает.1008 *
Я надеюсь, что это немного прояснит ситуацию, но дайте мне знать, если я смогу сделать больше, чтобы помочь.