Перемещение UIIMageView вне UIScrollView - PullRequest
0 голосов
/ 06 июня 2010

В нижней части моего основного UIView у меня есть UIScrollView с UIImageView внутри.

Я бы хотел переместить UIImageView из UIScrollView в верхнюю часть моего UIView.

Я могу переместить свой UIImageView внутри UIScrollView, но снаружи я не могу. UIImageView остается в UIScrollView, это его родитель.

Есть идеи?

Заранее спасибо за любую помощь.

С уважением,

Alx

Ответы [ 2 ]

3 голосов
/ 06 июня 2010

Не обманывайте себя по аналогии с пользовательским интерфейсом. Представления на самом деле не являются физическими объектами, которые можно легко подобрать и переместить из одного места в другое. Мы создаем иллюзию физических объектов с помощью кода, который не имеет ничего общего с видимым движением иллюзии.

Чтобы сделать то, что вы хотите, потребуется некоторая работа.

Представления рисуют только в своих суперпредставлениях. Его фрейм определяется его положением в суперпредставлении. Как только кадр определен как находящийся вне суперпредставления, он больше не рисует сам и исчезает из пользовательского интерфейса. Вот почему вы просто не можете перетащить UIImage куда угодно.

Что вам нужно будет сделать, это создать прозрачный обзор, который будет лежать как на скроллвью, так и на целевом представлении. Когда пользователь инициирует перетаскивание, вам придется удалить UIImageView из представления прокрутки и добавить его в обзор (в качестве альтернативы скрыть представление UIImageView прокрутки и создать дубликат в обзоре). UIImage будет затем рисовать себя в обзоре, что создаст иллюзию, что его вытаскивают из вида прокрутки. Затем вы меняете владение на целевой вид.

Вы, вероятно, хотите переосмыслить свой дизайн хотя бы для iPhone. Пользователям очень трудно перетаскивать элементы по маленькому экрану, особенно если сам экран должен прокручиваться.

0 голосов
/ 06 июня 2010

Как я понимаю, вы добавляете в код UIImageView как подпредставление UIScrollView, но позже не можете выполнить обратную операцию.

Если это так, в вашем UIViewController используйте что-то вроде:

[yourImageView removeFromSuperview];
[self.view addSubview:yourImageView];

Если нет, добавьте больше деталей к вашему вопросу ...

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