2012-03-08 150 views
1

我有一個類,它是包含4個子viewController的UITabBarController的子類。我添加了一個類似於RedLaser,Instagram,Path,DailyBooth和其他應用程序的按鈕。我的是喜歡這裏的頂部例如:從UITabBarController呈現的Modal viewController

Image of tabBar with center button

此按鈕調用在TabBarController的方法呈現一個模式的viewController。當它被解散時,當前所選viewController中的NavigationControllers開始出現奇怪的行爲。流行動畫全部搞砸了,其他小錯誤發生,直到您選擇tabBar上的另一個選項卡。然後,動畫很好,直到viewController再次呈現。

我確定這是因爲我錯誤地解僱了它,但我不確定這是如何完成的。

這是我在TabBarController代碼:

-(void)showScanner { 
    ZBarReaderViewController *reader = [[ZBarReaderViewController alloc] init]; 
    reader.readerDelegate = self; 
    reader.supportedOrientationsMask = ZBarOrientationMaskAll; 

    ZBarImageScanner *scanner = reader.scanner; 
    [scanner setSymbology:ZBAR_I25 
        config:ZBAR_CFG_ENABLE 
         to:0]; 
    [scanner setSymbology:ZBAR_QRCODE 
        config:ZBAR_CFG_ENABLE 
         to:0]; 

    [reader setModalTransitionStyle:UIModalTransitionStyleCoverVertical]; 
    [self presentModalViewController:reader 
          animated:YES]; 
    [reader release]; 
    //[self playBeep]; 
    } 

-(void)imagePickerController:(UIImagePickerController *)picker  didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    id<NSFastEnumeration> results = [info objectForKey:ZBarReaderControllerResults]; 
    ZBarSymbol *symbol = nil; 
    for (symbol in results) 
     break; 
    NSString *barcode = symbol.data; 

    UINavigationController *searchNavController = [[self viewControllers] objectAtIndex:1]; 
    WLSearchViewController *searchVC = [searchNavController.viewControllers objectAtIndex:0]; 

    // WLSearchViewController *searchVC = [[self viewControllers] objectAtIndex:1]; 
    //[searchNavController popToRootViewControllerAnimated:NO]; 
    [self setSelectedViewController:searchNavController]; 
    [self dismissModalViewControllerAnimated:YES]; 

    [self playBeep]; 

    [searchVC handleSearchForTerm:barcode]; 
} 

-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { 
    [self dismissModalViewControllerAnimated:YES]; 
} 

回答

4

找到什麼是錯的,想我會張貼此幫助別人誰在面臨這樣的。

我已經覆蓋的viewDidAppear:動畫:在我tabBarController,但我沒有叫[super viewDidAppear:animated:]

補充說,一切都更好!

相關問題