Как увеличить UIScrollView с UIimageview и третьим uiimage как наложение сверху с фиксированной шириной и высотой - PullRequest
0 голосов
/ 09 декабря 2011

У меня есть UIscrollview с подпредставлением UIimageView, и когда я увеличиваю представление прокрутки, все работает нормально. как это:

mapImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"map.png"]];
mapScrollView.contentSize = mapImageView.frame.size;
[mapScrollView addSubview:mapImageView];
mapScrollView.minimumZoomScale = mapScrollView.frame.size.width / mapImageView.frame.size.width;
mapScrollView.maximumZoomScale = 4;
[mapScrollView setZoomScale:mapScrollView.minimumZoomScale];

я добавляю еще одно UIimageview как подпредставление к uiviewimage в позиции, например:

userImageView1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bubble.png"]];
userImageView1.frame = CGRectMake( 300  * 4, 300 * 4, 104 * 4 , 135 * 4  ); 
[mapImageView addSubview:userImageView1];   
[userImageView1 release];

теперь пузырь перемещается по карте при увеличении масштаба. в функции делегата я делаю это:

(void)scrollViewDidZoom:(UIScrollView *)_scrollView{
    CGRect frame = userImageView1.frame;
    frame.origin.x = ??
    frame.origin.y = ??
    frame.size.width = 104 /2/_scrollView.zoomScale; 
    frame.size.height = 135 /2/_scrollView.zoomScale;
    userImageView1.frame = frame;   
}

для установки фиксированной ширины и высоты.

У меня вопрос, какой должен быть X & Y, чтобы переместить изображение в соответствующую позицию на увеличенном экране. как рассчитать эти X, Y

10x

Тамир

1 Ответ

0 голосов
/ 09 декабря 2011

Предполагая, что UIScrollView является подпредставлением представления вашего основного контроллера, почему бы просто не добавить фиксированную ширину UIImageView в качестве подпредставления основного вида над UIScrollView?

...