Удаление представлений из UIScrollView - PullRequest
0 голосов
/ 30 января 2009

У меня есть два UIScrollViews, между которыми я перемещаю изображения. Пользователь может перетаскивать и прокручивать между видами прокрутки. Я пытаюсь оживить движение изображения от одного вида прокрутки к другому. В -touchesMoved (обработано в моем UIViewController, который имеет два пользовательских UIScrollViews, которые перехватывают касание и отправляет в мой UIViewController), я пытаюсь установить «центр» моего UIImageView, который перемещается. При перемещении изображение скрывается за UIScrollView и не отображается. Как сделать так, чтобы он отображался поверх UIScrollView? Я могу правильно обработать -touchesEnded с помощью анимации в представлении прокрутки назначения.

Меня также смущает использование -convertPoint:fromView: в Руководстве по программированию iPhone (см. Главу 3 «Обработка событий»). Если координаты касания находятся в координатах окна, для изменения моего вида (UIImageView внутри UIScrollView, который находится внутри UIView и внутри окна) в центре не нужно использовать -convertPoint:toView:, т.е.

imageView.center = [self.view.window convertPoint:currentTouchPosition toView:imageView];

Чего мне не хватает?

Ответы [ 3 ]

0 голосов
/ 30 января 2009

Это зависит от того, как вы структурировали свои взгляды. Если оба вида прокрутки и вид изображения находятся на одном уровне, это должно работать. Если просмотр изображения является подпредставлением одного из видов прокрутки, вы можете попробовать переместить его вперед. Таким образом, изображение будет отображаться поверх другого вида прокрутки.

Юхан

0 голосов
/ 30 января 2009

У меня есть View Controller с двумя ScrollViews. Изображения добавляются как подпредставления. ScrollViews уже впереди. Я попытался перенести скроллвью спереди, а также изображение скроллвью спереди. Но каким-то образом, когда я перетаскиваю, центр изображения переходит поверх моего другого scrollview2, который я также пытался отправить обратно. Но, похоже, не работает. Вот что я делаю, в TouchesMove (внутри ViewController)

view = [[scrollView1 subviews] objectAtIndex: currentImageIndex];

[self.view yieldSubviewToFront: scrollView1];

[scrollView1 takeSubviewToFront: просмотр];

[self.view sendSubviewToBack: scrollView2];

scrollView1 и scrollView2 - это два вида прокрутки, которые являются частью представления ViewController. Имеет ли это смысл?

спасибо мохан

0 голосов
/ 30 января 2009

Вы можете использовать метод - (void) yieldSubviewToFront: (UIView *) view, чтобы сделать изображение наиболее передним.

Юхан

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...