Возможно ли создать пользовательскую анимацию контроллера представления вида, например изображение? Основная идея состоит в том, чтобы надавить на просмотр в обычном режиме, но не перемещая текущий вид (который вызывает pushViewController...
).Нажатие контроллера просмотра с пользовательской анимацией
ответ
Конечно, это может быть сделано. Я сделал проект, в котором я сделал это так:
-(void)slideInController:(RDSlideController *) next {
next.presentingVC = self;
next.view.frame = CGRectMake(self.view.frame.origin.x + 320, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height);
[self.view.window addSubview:next.view];
[UIView animateWithDuration:slideTime animations:^{
next.view.frame = self.view.frame;
} completion:^(BOOL finished) {
self.view.window.rootViewController = next;
}];
}
Контроллеры вид, что я скользнул в были подклассы RDSlideController (так что я мог бы иметь свойство presentingVC и некоторые другие вещи), но это на самом деле не нужно. В принципе, вы просто создаете экземпляр нового контроллера, устанавливаете рамку своего представления на экран справа, добавляете это представление в окно, а затем анимируете кадр в рамку текущего представления. Наконец, вы выключаете контроллеры представлений, чтобы новый был теперь контроллером корневого представления окна.
Мы можем достичь этого, добавив подвью и анимационный вид, который мы хотим добавить. Когда мы добавляем анимацию для перемещения следующего вида с левого края на правый край. И наоборот наоборот с удалением зрения.
slideTime почти всегда занимает 0.4 секунды в iOS. –
Вот и ответ. Я не знал свойство [UIView window]. Благодарю. :-) – 2013-02-15 12:48:43
Есть ли простой способ уволить или мне придется переместить рамку представления вне экрана? – 2013-02-16 01:51:17