Ho creato un'app semplice con due VC.
Apro il secondo VC dal primo pulsante. Seque è "Present Modally" e la transizione è "Partion Curl". Questo schema funziona bene su iOS7, ma su iOS8 prima la visualizzazione di VC scompare alla fine dell'animazione di arricciatura: Transizione di ricciolo parziale per modal seque in iOS 8
risposta
Ho lo stesso problema. L'ho visto in Xcode 6 (beta 7) + iOS 8 (beta 5). Ancora presente nel seme GM di entrambi.
IOS 7.1 Particolarità:
è chiamato un "ricciolo parziale" e su iOS 7 visualizza come tale (ad esempio parziale - si può ancora vedere una porzione della vista origine lungo la parte superiore della finestra). Su iOS 7 - quando si tocca questa vista "originale" parzialmente esposta, la vista si apre nuovamente alla finestra completa dell'originale.
iOS 8 Specifiche:
La segue fa NON lasciare qualsiasi della proiezione originale. E qualsiasi tocco, ovunque sulla finestra/schermo, restituisce la vista di origine tramite uno svolgimento automatico. Se sulla vista è presente un UITextField, quando viene toccato per immettere un valore ... la vista di origine ritorna senza attivare alcun metodo UITextField associato. Nessuna tastiera è visualizzata, si svolge semplicemente alla vista di origine.
Mi sembra che la definizione del tocco associata a quello che dovrebbe essere un angolo parzialmente visualizzato della vista originale sia invece erroneamente definita come l'intera finestra.
Naturalmente, sono molto nuovo alla programmazione iOS, quindi la mia intuizione, se accurata, non mi dà la minima idea su come risolverlo! LOL Spero che qualcuno là fuori abbia le conoscenze per fornire almeno una soluzione alternativa utilizzabile.
Jim
P.S. Non ho ancora abbastanza punti reputazione da votare o commentare, quindi la mia risposta non è una risposta.
"qualsiasi tocco, ovunque" solo nella metà superiore dello schermo (nel mio caso - su iPad mini retina) – djdance
Questo è un bug o (IMHO) un'indicazione da Apple che questo ModalTransitionStyle sta per essere deprecato. Poiché è probabilmente l'ultima traccia di pseudomorfismo, penso che sia una scommessa sicura che è l'abbreviazione di questo mondo. Stavo eseguendo il debug di un problema per ore per quanto riguarda i tocchi incoerenti su un viewcontroller presentato in modo modale, usando questa transizione e tirando fuori i capelli. Sono passato a un altro stile di transizione modale e POOF: tutti i problemi causati da iOS8 sono spariti.
Keith
Apple non menziona affatto alcuna deprecazione degli effetti di arricciatura della pagina (parziale). Quindi è un Bug iOS 8 per me ;-) Questo fa davvero schifo. Esattamente la stessa build funziona perfettamente su iOS 7 ma non su 8 -.- – d4Rk
Anche questo lo considero un bug, ma sfortunatamente non è stato aggiornato per un po 'di tempo e anche dopo diversi aggiornamenti a Xcode. Quindi, se si tratta di un "bug" di per sé, Apple sembra non essere a conoscenza, o non vuole correggerla per qualsiasi motivo. Sono curioso di sapere se questo problema è limitato agli storyboard o se invocare manualmente il seguito mostra anche il comportamento. Proverò a sperimentarlo quando ne avrò la possibilità, ma se qualcuno ha già e può confermare ...? – quickthyme
Nevermind. Ho provato a invocare manualmente, oltre a provare a costruirlo al di fuori dello storyboard, che non funziona a meno che non intendi scrivere il tuo effetto di transizione (ad esempio, ignora "esegui"). Sembra che questo sconfigga il punto di usare il seguito in scatola in primo luogo. Immagino che per ora dobbiamo ricreare manualmente questo effetto o ridisegnare l'app per presentare il controller della vista di destinazione in un altro modo. Non sto vedendo un altro work-around in questo momento né alcuna spiegazione sul motivo per cui questo ora fallisce quando funzionava solo peachy. – quickthyme
Anche io ho inseguito questo BUG per giorni! Risulta che è ancora possibile utilizzare Parzialmente arricciato con successo; il problema appare solo se la casella ANIMATI è spuntata. Deseleziona la scatola degli ANIMATI e sei a posto!
Se lo fai, non hai più l'animazione di arricciatura. In modo che sconfigge l'intero punto. – user1427799
Ho avuto lo stesso problema. Toccando un punto qualsiasi nella metà superiore dello schermo, il modale si chiudeva (svolgendosi). Modificata l'animazione e il mondo era di nuovo in pace.
Quindi, sicuramente un bug in iOS8.
soluzione semplice per questo problema.
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
for(UIGestureRecognizer *gesture in [self.view gestureRecognizers])
{
if([gesture isKindOfClass:[UIGestureRecognizer class]])
{
[self.view removeGestureRecognizer:gesture];
}
}
}
è necessario trovare un superview, che contiene UIDismissCurlUpTapGestureRecognizer, della vista in cui si desidera disabilitare che riconoscitore gesto. Per exapmle nel mio caso:
po self.view.superview .superview .superview .gestureRecognizers
▿ opzionale> ▿ Alcuni: 2 elementi - [0]:???; target = < (action = handleNavigationTransition :, target = < UINavigationInteractiveTransition 0x15826e2e0>) >> - [1]: <UIDismissCurlUpTapGestureRecognizer: 0x15838a2c0; stato = possibile; vista =; target = < (action = _handleTapToDismissModalCurl :, target =) >>
Così ho rimosso che riconoscitore gesto, con questa parte di codice:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
if (self.view.superview?.superview?.superview != nil){
if (self.view.superview!.superview!.superview!.gestureRecognizers != nil){
for gestureRecognizer in self.view.superview!.superview!.superview!.gestureRecognizers!{
if (gestureRecognizer.isKindOfClass(UITapGestureRecognizer)){
self.view.superview!.superview!.superview!.removeGestureRecognizer(gestureRecognizer)
}
}
}
}
}
Nota: è molto importante, che si esegue questa operazione in viewDidAppear, perché la vista non è a conoscenza delle sue anteprime precedenti nel ciclo di caricamento.
- 1. ios 8 modifica la dimensione del controller vista/modal view
- 2. iOS: come interrompere l'animazione del testo nell'arricciatura parziale
- 3. Implementazione delle interazioni dei gesti per la pagina di stile di Google Maps
- 4. Guida alla transizione per sviluppatori iOS 5?
- 5. Cordova iOS - transizione causa flash di pagina
- 6. Sostituzione ActionSheetPicker per ios 8
- 7. Trasformazione di transizione IOS Safari non funzionante
- 8. iOS 8 Ritardo alla chiusura dopo la disattivazione del controller modal
- 9. Font di sistema per iOS 8 e iOS 9
- 10. Ombra nel menu di sinistra su IIViewDeckController in iOs 8
- 11. setHTTPBody in iOS 8 + Swift
- 12. InterfaceOrientation deprecato in iOS 8
- 13. searchDisplayController deprecato in iOS 8
- 14. caratteri modificati in una richiesta di ricciolo
- 15. personalizzato in iOS 8 - Swift
- 16. AVSpeechVelocità di avvio in iOS 8
- 17. UIPageViewController velocità di transizione/durata?
- 18. Bug in transizione CSS3 ruotateY su Safari?
- 19. Utilizzo di CIFilters di transizione per CATransition
- 20. tubo di utilizzo per i dati ricciolo
- 21. angularjs $ modal close modal
- 22. Modal View Controller forza Orientamento orizzontale in iOS 6
- 23. UI iOS - App Store Esplora sezione Transizione
- 24. Open modal all'interno di un modal
- 25. Email composure iOS 8
- 26. iOS 8 NavigationBar BackgroundImage
- 27. CLLocationManager iOS 8
- 28. Modal Bootstrap caricato dinamicamente non scorre su iOS 9
- 29. AutoLayout funziona in iOS 8 ma non in iOS 7?
- 30. ptrace su iOS 8
Questo esiste ancora in iOS 10 (Xcode 8.3 beta). Cambiare la transizione a Flip Horizontal è stato il mio modo di liberarmene. –