![](/img/trans.png)
[英]Is it possible to determine whether ViewController is presented as Modal?
[英]Modal viewController presented from UITabBarController
我有一个类是UITabBarController的子类,它包含4个子视图控制器。 我添加了一个类似于RedLaser,Instagram,Path,DailyBooth和其他应用程序的按钮。 我的就像这里的榜样:
这个按钮调用TabBarController中的一个方法,它提供了一个模态viewController。 当它被解除时,当前所选viewController中的NavigationControllers开始表现得很奇怪。 在您选择tabBar上的另一个选项卡之前,pop动画都会搞砸,并且会发生其他小错误。 然后动画很好,直到再次呈现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];
}
发现什么是错的,我想发布这个是为了帮助其他人面对这个问题。
我已经覆盖了一个viewDidAppear:animated:在我的tabBarController中,但我没有调用[super viewDidAppear:animated:]
补充说,一切都更好!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.