ios: el menú emergente en formato horizontal ocupa toda la pantalla
Estoy usando el siguiente código para crear un popover.
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"popover"]) {
self.popoverTvc = [segue destinationViewController];
self.popoverTvc.popoverPresentationController.delegate = self;
}
}
Cuando el usuario hace clic en un botón en la barra de navegación, se activará el estilo de popover anterior y el controlador de vista resultante tendrá una vista de tabla.
El problema es que,
En modo vertical, el tamaño de la vista de la tabla depende del tamaño del contenido disponible. Pero cuando cambio la vista de paisaje a retrato, la vista de tabla contiene celdas vacías que son visibles y, por lo tanto, estas ce vacíaslls están bloqueando la interfaz de usuario. ¿Por qué es así? Quiero que la vista de tabla no bloquee toda la pantalla, incluso en modo horizontal.
Estoy usando el siguiente código en la vista del método de carga para cambiar el tamaño de la vista de tabla
if (self.tableView && self.presentingViewController) {
self.preferredContentSize = [self.tableView sizeThatFits:self.presentingViewController.view.bounds.size];
}
------------Respuesta------------
Ha pasado un tiempo, pero tuve el mismo problema y lo solucioné agregando ambos
public func adaptivePresentationStyle(for controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle {
return .none
}
y
public func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
return .none
}
en el controlador de vista principal/de presentación.
------------Respuesta------------
En lugar del tamaño de la tablala vista es según el tamaño de los contenidos disponibles. dar el tamaño de la ventana emergente mediante programación.
Haz Me gusta seguir:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSString *identifier = segue.identifier;
if ([identifier isEqualToString:@"popover"]) {
UIViewController *dvc = segue.destinationViewController;
dvc.preferredContentSize = CGSizeMake(180,128);
UIPopoverPresentationController *ppc = dvc.popoverPresentationController;
if (ppc) {
ppc.delegate = self;
}
}
Y agregue esto debajo del paso anterior:
- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller {
return UIModalPresentationNone;
}
Etiquetas: objective-c ios
Artículos relacionados:
javascript - ¿Cómo evitar la colisión de alcance entre las directivas angularjs?
ios: recuperación de la matriz bool de NSUserdefaults en Swift
- javascript - ¿Cómo puedo agregar 1 día a esta función JS?
- Extraño error de PHP: no se puede usar el valor de retorno de la función en el contexto de escritura,
- c++ - Qt: botón - volver desde "help.cpp" a "ventanaprincipal.cpp"
- amazon web services - ¿Cómo conectar un usuario de mysql a un servidor AWS EC2?
- smooch - ¿Cómo aplico los botones de respuesta a los susurros?
- redes: responda con un protocolo no compatible al escribir una pila de red personalizada
- node.js - Cómo instalar NodeJS 6.1.0 en Ubuntu 16.04
- objetivo c - NSStackView y prioridad de aceptación de contenido
- javascript: la consulta dentro de un bucle for no funciona correctamente
- ruby on rails - El contenido no se muestra correctamente
- android - ¿Cómo puedo animar el icono del cajón de hamburguesas?
- Error de Eclipse al instalar NatTable
- c# - ¿Oracle ODP.NET tiene un error relacionado con el símbolo de porcentaje en las consultas?
- evaluación - Sympy: Uso de "supuestos" para evaluar Piecewise, específicamente para IndexedBase
- normalization - Normalización de una tabla de Excel
Artículos calientes
- medicina china para la bronquitis
- Diferencia entre infección de las vías respiratorias superiores y bronquitis
- ¿Qué causa la epididimitis?
- Criterios diagnósticos de cálculos renales
- ¿Qué medicamento la masturbación causa prostatitis?
- ¿Cuáles son los factores de padecer gota?
- Qué comer durante la convalecencia de una hemorragia cerebral
- que es el alzheimer
- Principales criterios diagnósticos de las bronquiectasias
- ¿Cuáles son las formas de prevenir y tratar la menstruación irregular en las mujeres?
- Síntomas de gota de ternera
- Saco gestacional de 5x4mm cuanto dura el embarazo
- La diferencia entre espinillas y espinillas de ácaros
- Por qué frotar con jengibre puede tratar la caída del cabello
- ¿Cuánto tiempo se puede vivir con insuficiencia hepática?