هل يمكنني "تجعيد" صفحة على popviewControllerAnimated؟
-
02-10-2019 - |
سؤال
يمكنني "تجعيد" وحدة تحكم عرض مع هذا الرمز:
[UIView beginAnimations:@"animation" context:nil];
[self.navigationController pushViewController:page animated:NO];
[UIView setAnimationDuration:1];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.navigationController.view cache:NO];
[UIView commitAnimations];
لكن لا يمكنني تجعيد الصفحة الأخيرة مثل هذا:
[UIView beginAnimations:@"animation" context:nil];
[self.navigationController popViewControllerAnimated:NO];
[UIView setAnimationDuration:1];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.navigationController.view cache:NO];
[UIView commitAnimations];
أي فكرة لماذا لا؟ أرغب حقًا في "عكس" الرسوم المتحركة (كما لو أن الملصق قد تم تقشيره لإظهار وحدة التحكم في العرض "Push'ed" والوقوف عند النقر فوق زر).
شكرًا
المحلول
حسنًا ، كانت إجابتي القديمة خاطئة تمامًا ... المشكلة هي أنك تفرقع وحدة التحكم في العرض قبل تعيين عرض الانتقال. إذا قمت بتغيير الرمز إلى هذا:
[UIView beginAnimations:@"animation" context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.navigationController.view cache:NO];
[self.navigationController popViewControllerAnimated:NO];
[UIView commitAnimations];
أنه يعمل بشكل جيد
نصائح أخرى
باستخدام OpenGL أو الكثير من عمليات coreanimation المعقدة ، أنا متأكد من أنك تستطيع ، ولكن ، سيكون الكثير من المتاعب لفعل شيء من هذا القبيل. شيء قد يساعدك على طول: تطبيق تدوير كتاب بسيط مكتوب بالكامل مع Coreanimation
لا تنتمي إلى StackOverflow