Tengo un controlador de vista dividida, en el que el lado izquierdo contiene un controlador de vista de tabla. ¿Cómo muestro una hoja de acción dentro del popover cuando hago clic en el botón de divulgación de detalles de la celda de la tabla?¿Cómo mostrar una hoja de acción dentro del popover?
7
A
Respuesta
15
Prueba esto:
UIActionSheet *popupSheet = [[UIActionSheet alloc] initWithTitle:@"Title"
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:@"No Way !"
otherButtonTitles:nil];
popupSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;
UIButton * disclosureButton = (UIButton *)cell.accessoryView;
[popupSheet showFromRect:disclosureButton.bounds inView:cell.accessoryView animated:YES];
[popupSheet release];
El estado UIActionSheet docs que el showFromRect:inView:animated:
método:
muestra la hoja de acción en un popover cuyos puntos de flecha para el rectángulo especificado de la vista (en nuestro caso el botón de divulgación de detalles). El popover no se superpone al rectángulo especificado.
0
lo uso para más uso avanzado:
- encuentra accesoryView personalizado (cell.accesoryView)
- si está vacío, encontrar generada accesoryView (UIButton) si la celda tiene
- si el UIButton no existe, encuentre la vista de conteo de celda (UITableViewCellContentView)
- si la vista de conteo de celda no existe, use la vista de celda
se puede utilizar para UIActionSheet o UIPopoverController.
Aquí está mi código:
UIView *accessoryView = cell.accessoryView; // finds custom accesoryView (cell.accesoryView)
if (accessoryView == nil) {
UIView *cellContentView = nil;
for (UIView *accView in [cell subviews]) {
if ([accView isKindOfClass:[UIButton class]]) {
accessoryView = accView; // find generated accesoryView (UIButton)
break;
} else if ([accView isKindOfClass:NSClassFromString(@"UITableViewCellContentView")]) {
// find generated UITableViewCellContentView
cellContentView = accView;
}
}
// if the UIButton doesn't exists, find cell contet view (UITableViewCellContentView)
if (accessoryView == nil) {
accessoryView = cellContentView;
}
// if the cell contet view doesn't exists, use cell view
if (accessoryView == nil) {
accessoryView = cell;
}
}
[actionSheet showFromRect:**accessoryView.bounds** inView:**accessoryView** animated:YES];
Probado en iOS 4.3 a 5,1
mejor para su uso como método personalizado:
-(UIView*)getViewForSheetAndPopUp:(UITableViewCell*)cell;
Y código de método:
-(UIView*)getViewForSheetAndPopUp:(UITableViewCell*)cell {
UIView *accessoryView = cell.accessoryView;
if (accessoryView == nil) {
UIView *cellContentView = nil;
for (UIView *accView in [cell subviews]) {
if ([accView isKindOfClass:[UIButton class]]) {
accessoryView = accView;
break;
} else if ([accView isKindOfClass:NSClassFromString(@"UITableViewCellContentView")]) {
cellContentView = accView;
}
}
if (accessoryView == nil) {
accessoryView = cellContentView;
}
if (accessoryView == nil) {
accessoryView = cell;
}
}
return accessoryView;
}
Cuestiones relacionadas
- 1. cómo despedir Hoja de acción
- 2. Cómo mostrar un NSPanel como una hoja
- 3. Android Hoja de acción
- 4. ¿Cómo uso Popover de Twitter Bootstrap para mostrar una imagen?
- 5. Picker como entradaview dentro de popover
- 6. ¿Cómo puedo mostrar un UIDatePicker dentro de un Popover en iPad usando StoryBoard?
- 7. mostrar una vista popover a partir de células prototipo dinámicas
- 8. Completar una hoja de acción con una matriz
- 9. ¿Cómo mostrar las tostadas dentro del temporizador?
- 10. Rieles - Renderizar parcialmente dentro de Twitter Bootstrap popover
- 11. Acción Vim dentro del entorno LaTeX
- 12. Cerrar el popover de Safari usando el botón clic dentro de popover
- 13. Cómo crear y mostrar una hoja personalizada en Cocoa?
- 14. usando elementos interactivos dentro de un popover bootstrap
- 15. Cómo mostrar los valores dentro del sector del gráfico circular
- 16. Mostrar PDF dentro del navegador web
- 17. ¿Cómo obtener el controlador y la acción actuales desde dentro de la acción del niño?
- 18. Mostrar parcelas dentro del módulo en Mathematica
- 19. Cómo quitar del iPad Popover flecha y su frontera marco
- 20. Mostrar csv dentro del navegador firefox
- 21. Rails rutas acción de índice directo para mostrar acción
- 22. Apagando el debug_kit dentro de la acción del controlador, Cakephp
- 23. Cómo mostrar una variable dentro de cadena con Ruby
- 24. mostrar una página dentro de una ventana en XAML
- 25. Cómo mostrar un widget dentro de una ventana principal
- 26. Cómo mostrar subtítulos dentro de MPMoviePlayerController
- 27. NSUserNotification no mostrar botón de acción
- 28. Cómo retrasar la acción de JavaScript dentro de QML?
- 29. UISplitViewController: ¿Cómo fuerza mostrar master popover en el lanzamiento de la aplicación? (retrato)
- 30. UIPopOverController dentro de UISplitViewController