Есть ли полный 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];
Надеюсь, это даст вам желаемый эффект.