iOS се плъзга от ляв/десен изглед анимации

Моето приложение за iOS6 има многостепенен табличен изглед, чиито листови възли отварят отделни изгледи. Анимацията от първото ниво на таблицата плъзга стария изглед наляво и новия изглед отдясно. Бих искал също да използвам тази плъзгаща се анимация, когато преминавам от изглед на маса към изглед без маса. как?

Ето още информация:

На първото ниво на табличния изглед има индикатори за разкриване въведете описание на изображението тук. Когато се щракне върху едно, първото ниво на таблицата се плъзга наляво, а изгледът на второ ниво се плъзга отдясно. Добре.

На второто ниво на таблицата има бутони за разкриване на подробности въведете описание на изображението тук, които отвеждат потребителя до детайл изглед за този елемент в таблицата.

Бих искал да предложа същата анимация и тук: изгледът на таблицата трябва да се плъзне наляво, а новият изглед трябва да се плъзне отдясно.

Първо, прав ли съм, че това е правилната анимация за използване в този случай?

Второ, знаете ли защо тази анимация за „плъзгане“ не е в стандартните анимации за изглед в UIViewAnimationTransition по-долу?

typedef enum {
   UIViewAnimationTransitionNone,
   UIViewAnimationTransitionFlipFromLeft,
   UIViewAnimationTransitionFlipFromRight,
   UIViewAnimationTransitionCurlUp,
   UIViewAnimationTransitionCurlDown,
} UIViewAnimationTransition;

И накрая, ако искам да използвам същия слайд в анимация, който използват табличните изгледи, но той не е наличен като един от стандартните изгледи, как трябва да добавя тази анимация при преход между табличен изглед и нетабличен изглед?


person Justin Grant    schedule 31.10.2012    source източник
comment
Мисля, че това не е част от анимациите по подразбиране, защото може просто да бъде възпроизведено чрез превеждане на изгледа (добавяне на frame.size.width към frame.origin.x), за разлика от другите. За да възпроизведете тази анимация: защо не обвиете изгледите в контролер за изглед и не го поставите върху контролер за навигация?   -  person    schedule 31.10.2012
comment
да, използвайте контролер за навигация   -  person nielsbot    schedule 31.10.2012


Отговори (1)


Обикновено този тип анимация се прави в UINavigationController и е резултат от натискане на нов viewController в стека. Ако искате да го симулирате, всичко, което трябва да направите, е да добавите новоизложения изглед към текущия ви основен изглед, вдясно от текущия изглед (т.е. извън екрана) и да използвате метода animateWithDuration:animations:completion: на UIView, за да преместите както екранния, така и извън екрана гледа един екран вляво. (Използвайте блока completion:, за да премахнете оригиналния изглед или да го оставите на място, за да можете лесно да го анимирате обратно на екрана.)

person rsswtmr    schedule 31.10.2012
comment
Съжалявам, не е ясно къде имате достъп до основния изглед... Какво имате предвид с това? - person Sam Ballantyne; 29.12.2013
comment
Под базов изглед имах предвид текущия изглед на viewController. Поставете новия изглед вдясно от него и анимирайте и двата, движещи се наляво, докато текущият изглед излезе извън екрана. След това заменете изгледа на viewController с новия изглед. - person rsswtmr; 30.12.2013
comment
Благодаря - изпробвах го и си прав: това е чудесен начин да го направиш. +1 - person Sam Ballantyne; 30.12.2013