Acabo de agregar TabBarController + NavigationController. Anterior a esto, todo estaba bien, pero ahora cuando llamo presentingViewController de un modal, me sale este error:presentingViewController consiguiendo siempre UITabBarController
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITabBarController tableViewListado]: unrecognized selector sent to instance
En lugar de recibir el objeto esperado (ViewController) Estoy consiguiendo "UITabBarController", debería obtener la presentación controlador de alguna manera diferente cuando se utilizan los controladores TabBar y Nav?
Sin la TabBar/Nav yo estaba usando esto:
ViewController *parentView = (ViewController *)[self presentingViewController];
[parentView something];
Editar:
acaba de encontrar que si hago esto funciona, pero no creo que esto es en realidad la mejor manera de hacerlo:
ViewController *parentView = (ViewController *)[(UINavigationController *)[((UITabBarController *)[self presentingViewController]) selectedViewController] topViewController] ;
[parentView something];
es necesario agregar un poco de código en el que están llamando presentViewController. – rishi
Acaba de agregar más información – dimirc
mira esto - http://stackoverflow.com/questions/8437908/self-presentingviewcontroller-returns-uitabbarcontroller-not-the-view-controller – rishi