2011-12-09 12 views
5

Empecé a usar WEPopoverController para mostrar algunos controles después de hacer clic en un UIBarButtonItem en una barra de herramientas en la parte inferior de la pantalla. El popover se muestra bien, y los controles dentro del popover funcionan, sin embargo, tan pronto como se muestra el popover, ¡el UIBarButtonItem que estaba anclado desaparece!WEPopoverController presentPopoverFromBarButtonItem hace que el UIBarButtonItem especificado desaparezca

Aquí está el código para la visualización, es bastante sencillo:

WEPopoverController *wePopover = [[WEPopoverController alloc] initWithContentViewController:audioController]; 
[wePopover setPopoverContentSize:CGSizeMake(200, 150)]; 
[wePopover presentPopoverFromBarButtonItem:voiceButton permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES]; 

Se trabajará si uso presentPopoverFromRect, pero esa no es la solución ideal.

¿Alguien tiene este problema antes?

+0

¿Alguna vez resolvió esto? Estoy recibiendo el mismo problema aquí. Además, la punta de flecha nunca apunta al botón correctamente. – colincameron

+0

No creo que alguna vez lo hayamos hecho. Terminé simplemente usando presentPopoverFromRect: pero desde entonces hemos cambiado nuestro diseño y ya no usamos el popover. Buena suerte. – TylerJames

+0

Tengo este error también, aquí está este problema en Github: https://github.com/werner77/WEPopover/issues/26 –

Respuesta

0

Supongo que el problema es con la clase de categoría UIBarButtonItem(WEPopover), que implementa
- (CGRect)frameInView:(UIView *)v. En algún punto del camino, la vista personalizada es anulada, y luego no se devuelve a la jerarquía de vistas.
Si intenta utilizar un barButtonItem estándar (sin vista personalizada), el popover se mostrará correctamente, sin ocultar el elemento (pero eso no es una solución).
De todos modos, la presentación de rect fue la solución que utilicé también.

Cuestiones relacionadas