Переход от одного взгляда к другому

Как мне перейти от одного представления к другому с помощью перехода между слайдами?

Спасибо.


person Joshua    schedule 15.12.2009    source источник


Ответы (3)


Разместите их рядом и используйте NSViewAnimation для выполнения анимации.

Это может оказаться непростым делом, если размер просмотров может меняться. Вдвойне, если два вида не одинакового размера.

person Peter Hosey    schedule 15.12.2009
comment
Спасибо, я сделал это не так, как вы сказали (бок о бок), вместо этого я нашел в этой статье еще один простой способ сделать это. bish.fr/5vyr. - person Joshua; 15.12.2009

Маркус Зарра дает хороший пример того, как использовать Core Animation для достижения этого эффекта в его сообщение о том, как реализовать мастер. Это очень просто сделать, используя подпредставления и CATransition.

person Brad Larson    schedule 15.12.2009
comment
Это хороший пример, и он почти работает, за исключением того, что во втором представлении все не работает. Во втором представлении у меня есть веб-представление, и оно полностью пустое, хотя я знаю, что там есть контент. Вот видео, показывающее это… fwdr.org/z9tf. - person Joshua; 15.12.2009
comment
К сожалению, WebView не могут иметь многослойную поддержку на Mac, поэтому они не будут хорошо работать с Core Animation: stackoverflow.com/questions/1618498/. Если это ваш случай, я бы последовал предложению Питера использовать NSViewAnimation. - person Brad Larson; 15.12.2009

Реализуйте весь фактический рисунок с помощью CALayers. (Я сам не использовал Core Animation, поэтому не могу уточнить.) Поместите их в единое представление, размещая эту иерархию слоев, и используйте Core Animation для выполнения перехода между слайдами.

Это может не работать так хорошо, если представления предназначены не только для отображения, то есть если они содержат элементы управления, с которыми пользователь может взаимодействовать. Слои более или менее предназначены только для отображения, поскольку вы не можете поместить представление в слой, и только представления, а не слои, являются ответчиками.

person Peter Hosey    schedule 15.12.2009