versiones mini apple actualizar actualizacion ios6 modalviewcontroller instagram uicollectionview

ios6 - mini - Presente la Vista modal en iOS 6



ios 12 (3)

Quiero mostrar una vista modal pero tengo dos problemas:

  1. No hay presentModalViewController en iOS 6 y tengo que usar presentViewController que solo muestra mi segundo ViewController como una transición modal, no una ventana modal sin la opción de pantalla completa,

  2. Mi segundo problema es cómo puedo mostrar la ventana modal desde UICollectionViewController. Traté de usar presentViewController pero solo funciona con ViewController y no con CollectionViewController.

El mejor ejemplo de lo que quiero hacer es esto (Instagram). ¿Cómo hicieron esta ventana modal? ¿Es porque aún funciona con versiones anteriores de iOS y todavía no es iOS 6? ¿O hay otra forma de mostrar una ventana modal como esta desde UICollectionViewController?

Gracias


Como está diciendo, presentViewController solo funciona con UIViewController no con UICollectionViewController.

Luego simplemente importe la clase UIViewController en el archivo de encabezado de CollectionViewController como se muestra a continuación:

#import <UIKit/UIKit.h> @class UIViewController; @interface MyCVController : UICollectionViewController @end


Me gustaría echar un vistazo a los documentos para UIContainerView que se utiliza para mostrar un controlador de vista como hijo de otro controlador de vista de forma similar a una presentación modal no de pantalla completa.


Si te entendí correctamente, lo que intentas lograr es presentar uno de tus ViewControllers sobre el padre y aún ver el ViewController padre en el fondo.

Primera solución:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"SecondViewController"]; vc.view.backgroundColor = [UIColor clearColor]; self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext; //self.modalPresentationStyle might do a better job here [self presentViewController:vc animated:NO completion:nil];

Asegúrate de que tu contenido de SecondViewController sea ​​más pequeño que tu `` ViewController '''' actual y que puedas ver el color de fondo en StoryBoard / xib. El color de fondo será claro y creará el efecto de transparencia.

Segunda solución:

Cree un Contenedor (iOS 6 y superior si planea usar el Storyboard IB, más bajo que eso le permitirá crear Contenedores pero solo de manera progresiva).

Establezca el tamaño del contenedor 3/4 del tamaño principal y conecte el segundo controlador de vista a él. En lugar de segueing / pushing a su segundo viewcontroller puede simplemente

myContainer.alpha = 1;

para mostrarlo en la pantalla.