2015-04-23 2 views
0

Я делаю браузер в приложении, чтобы открывать ссылки w-out, используя сафари из любого viewController в приложении. Это код для запуска браузера со ссылкой на AppDelegate.mКак передать свойство контроллеру корневого представления при представлении UINavigationController?

-(void)openExternalRef:(NSString *)ref 
{ 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
    CSDBrowser* browser = [storyboard instantiateViewControllerWithIdentifier:@"CSDBrowser"]; 
    browser.urlString = ref; 
    browser.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
    [self.window makeKeyAndVisible]; 
    UINavigationController* navi = [storyboard instantiateViewControllerWithIdentifier:@"CSDBrowserNavi"]; 

    [self.window.rootViewController presentViewController:navi animated:YES completion:nil]; 
    [self.window.rootViewController.navigationController pushViewController:browser animated:YES]; 

} 

мне нужно передать переменную «реф» к моему ViewController, но мне нужно, чтобы начать навигацию контроллер первых, какие-либо идеи?

+0

Я не понимаю, в чем проблема. Если вы не знаете, как получить доступ к вашему viewController, укажите иерархию ваших контроллеров и 'self.window.rootViewController'. –

+0

Мне нужно получить доступ к браузеру ViewController из любого окна моего приложения, но мне нужно его с панелью навигации. поэтому, чтобы отобразить мой navBar, мне нужно сначала запустить контроллер навигации. таким образом я не могу передать свое свойство браузеру VC –

ответ

0
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 

[self.window makeKeyAndVisible]; 
UINavigationController* navi = [storyboard instantiateViewControllerWithIdentifier:@"CSDBrowserNavi"]; 

CSDBrowser* browser = [navi viewControllers][0]; 
browser.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 

browser.urlString = ref; 

[self.window.rootViewController presentViewController:navi animated:YES completion:nil]; 
Смежные вопросы