Есть ли полный pagecurl? обновленный

Итак, мне очень нравится эффект PageCurl, только одна проблема: при отправке электронного письма с обратной связью из приложения partPageCurl покрывает кнопку отмены и большую часть кнопки отправки для почты. Кнопки все еще работают, но пользователи их не видят. Есть ли способ получить partPageCurl в fullPageCurl, где он почти полностью отключен от экрана? Заранее спасибо! Вот в настоящее время, как я выдвигаю вид.

- (IBAction)HelpClicked{

MoreHelp *More = [[MoreHelp alloc] initWithNibName:nil bundle:nil];

More.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:More animated:YES];

[More release]; 
}

4 ответа

Решение

Нет, нет полного варианта скручивания страницы для UIModalTransitionStyle,

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

Этот фрагмент кода работает только в портретном макете по умолчанию, и его нужно будет подстроить под ваши нужды. Но я надеюсь, что это даст вам представление о том, что вам нужно сделать:

UIView* view = viewController.view;
view.frame = self.view.window.bounds;
[UIView transitionWithView:self.view.window
                  duration:0.2 
                   options:UIViewAnimationOptionTransitionCurlUp 
                animations:^(void) {
                    [self.view.window addSubview:view];
                } 
                completion:^(BOOL finished) {
                    [viewController.view removeFromSuperview];
                    [viewController presentModalViewController:viewController
                                                      animated:NO];
                }];

Проверьте код UICatalog в библиотеке разработчика Apple. Вот ссылка: http://developer.apple.com/library/ios/

Когда вы запустите его, выберите Transitions из UITableView. Смотрите действие кнопки "Curl Image". Если это то, что вам нужно...

Вы найдете curlAction: метод в классе TransitionViewController. В основном это имеет два изображения в представлении. В зависимости от того, какой из них отображен и каким был предыдущий переход (свернуться или свернуться), он отображает другое изображение таким образом, как будто вы свернули страницу вверх, а затем свернули ее. Скручивание изображения полностью исчезает. Я уверен, что вы можете адаптировать его к своему интерфейсу.

Это почти то же самое, что и ответ PeyloW, только он использует старую пару setAnimation: commitAnimation.

Я бы использовал ответ PeyloW, но есть другой способ. Добавьте UIView к модальному представлению, которое вы собираетесь представить (в viewDidLoad), поместите его в верхний левый угол и присвойте ему backgroundColor [UIColor clearColor], Таким образом, вид не будет виден на экране, но переход из-за скручивания страницы будет вынужден оторваться от экрана, чтобы "показать" вид в верхнем левом углу.

Отличные предложения PeyloW и xs2bush, безусловно, дадут вам полный скручиваемость страницы. Я подозреваю, что вы после скручивания страницы больше, чем частично, и меньше, чем полная. Я не думаю, что есть API для этого, но как насчет трюка, который может просто сработать?

Используйте метод PeyloW или xs2bush, но также запустите таймер с длительностью, немного меньшей, чем UIViewAnimationOptionTransitionCurlUp продолжительность анимации.

Когда таймер истекает, остановите анимацию и удалите ее из UIView это сворачивается

curledView.frame = [[curledView.layer presentationLayer] frame];
[curledView.layer removeAllAnimations];

Надеюсь, это даст вам желаемый эффект.

Другие вопросы по тегам