2013-03-12 4 views
2

Я новичок в iOS Development, и у меня проблемы с контроллерами. Я упростил свою задачу, чтобы облегчить жизнь каждому.Tab Bar Disappears

Так вот настройки: Вид корень Tab Bar контроллер, который имеет 2 вкладки, View A и View B

View A запускает камеру после того, как это делается с помощью камеры, увольняет камеру, а затем идет к другому представлению под названием View C, теперь View C - , а не в панели вкладок.

В окне просмотра C есть кнопка, при нажатии которой отменяется текущий вид и переходит в вид B. . Вот проблема: когда я пытаюсь загрузить из панели View C в View B, исчезает.

Кто-нибудь знает, как решить эту проблему?

Вид C полезен только после съемки, поэтому добавление его на панель вкладок не является решением.

Благодаря

EDIT: Вот код, как я Передача данных между вкладками:

Как я вызываю Просмотр C от А:

[self dismissViewControllerAnimated:YES completion: 
^{ 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil]; 
    ViewControllerA *A = [storyboard instantiateViewControllerWithIdentifier:@"ViewControllerA"]; 
    A.data1 = data1; 
    A.data2 = data2; 
    A.image = image; 
    [self presentViewController:A animated:YES completion:nil]; 
}]; 

Как я называю вид B из вида C:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 

{

if([segue.identifier isEqualToString:@"toViewB"]) { 

    SomeClass *obj = [[SomeClass alloc] init]; 
    [obj setData1: _data1]; 
    [obj setData2: _data2.text]; 
    [obj setImage: _image]; 


    ViewControllerB *B = (ViewControllerB *)segue.destinationViewController; 
    B.newObj = obj; 
    [B createCell]; 
} 

}

Я также хочу отметить, что кнопка я добавил ViewB исчез, а,

+0

показать вам закодировать, как вы добавляете детали к TabBar, как вы отображающей View C & отвергая его? – nsgulliver

ответ

0

Ниже простой пример Как вы можете использовать UITabBarController

Персоны Создать все объекты UIViewController и UINavigationController в AppDelegate.h файл и использовать следующий метод AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window=[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds ]]; 

    self.viewCon=[[ViewController alloc] init]; 
    self.navCon=[[UINavigationController alloc] initWithRootViewController:self.viewCon]; 
    self.navCon.navigationBar.tintColor=[UIColor blackColor]; 
    [email protected]"First View"; 

    self.fView=[[FirstViewController alloc] init]; 
    self.FnavCon=[[UINavigationController alloc] initWithRootViewController:self.fView]; 
    self.FnavCon.navigationBar.tintColor=[UIColor blackColor]; 

    [email protected]"Secound View"; 

    self.sView=[[SecoundViewController alloc] init]; 
    self.SnavCon=[[UINavigationController alloc] initWithRootViewController:self.sView]; 
    self.SnavCon.navigationBar.tintColor=[UIColor blackColor]; 
    [email protected]"Third View"; 
    . 
    . 
    // create UIViewController and UINavigationController As you need 
    . 
    . 
    . 
    UIImage *img1=[UIImage imageNamed:@"Australia.gif"]; 
    self.tbItem1=[[UITabBarItem alloc] initWithTitle:@"First Page" image:img1 tag:1]; 
    self.viewCon.tabBarItem=self.tbItem1; 

    UIImage *img2=[UIImage imageNamed:@"Cameroon.gif"]; 
    self.tbItem2=[[UITabBarItem alloc] initWithTitle:@"Secound Page" image:img2 tag:2]; 
    self.fView.tabBarItem=self.tbItem2; 

    UIImage *img3=[UIImage imageNamed:@"Canada.png"]; 
    self.tbItem3=[[UITabBarItem alloc] initWithTitle:@"Third Page" image:img3 tag:3]; 
    self.sView.tabBarItem=self.tbItem3; 

    NSMutableArray *viewArr=[[NSMutableArray alloc] init]; 
    [viewArr addObject:self.navCon]; 
    [viewArr addObject:self.FnavCon]; 
    [viewArr addObject:self.SnavCon]; 


    self.tbCon=[[UITabBarController alloc] init]; 
    self.tbCon.viewControllers=viewArr; 

    [self.window addSubview:tbCon.view]; 

    [self.window makeKeyAndVisible]; 

    return YES; 
}