programming learn framework development desarrollador cuenta app iphone cocoa-touch ios4 uikit eventkit

iphone - learn - Cómo personalizar UITableView de EKEventViewController?



learn ios (3)

¿Hay alguna forma de cambiar el color / imagen de fondo de los detalles UITableView en EKEventViewController? Puedo cambiar el UITableView principal pero no el detalle UITableView debido a que no tengo salida para la tabla. Por ejemplo, aquí está el código fuente de ejemplo de Apple para una aplicación de evento


Esto es lo que puedes usar,

UITableView *eventTableView = [[yourEventController.view subviews]objectAtIndex:0];

este eventTableView es una referencia a la EKEventViewController de su EKEventViewController. Ahora puede personalizarlo.

Gracias,


La respuesta de Michael Gray no funcionó para mí en iOS7, para un EKEventEditViewController

tal vez la implementación de EKEventEditViewController sea diferente.

aquí está el código que he usado:

for (UIViewController *controller in ekEventEditViewController.childViewControllers) { if ([controller isKindOfClass:[UITableViewController class]]) { NSLog(@"UITableViewController in EKEventViewController"); } }


No debería simplemente agarrar la subvista en el índice: 0. Esto puede funcionar en su código actual, pero puede romperse en futuras versiones de IOS, si Apple realiza cambios en la Vista.

Esto es más "a prueba de futuro"

for (UIView *searchTableView in [yourEventController.view subviews]) { if ([eventTableView isKindOfClass:[UITableView class]]) { @try { // change stuff to eventTableView for (UIView *eventTableViewCell in [eventTableView subviews]) { if ([eventTableViewCell isKindOfClass:[UITableViewCell class]]) { @try { [(UITableViewCell *)eventTableViewCell setBackgroundColor:[UIColor clearColor]]; } @catch (NSException * e) { } } } } @catch (NSException * e) { } } }

¡Recuerda todas las pruebas y capturas! Si apple realiza cambios en EKEventViewController, el código probablemente aún funcione, y tampoco se bloqueará si los cambios rompen la compatibilidad con versiones anteriores.