以编程方式从模态视图控制器切换父标签

在我的应用程序中,您可以使用模态视图添加照片。 当模式视图被解散时,我想自动切换标签栏控制器到第二个标签(照片查看器屏幕)。

我发现这个答案有关如何以编程方式切换选项卡,但我不知道该模式视图控制器中的代码的位置。

您可以创build一个委托协议,并将一个委托属性分配给以模态方式呈现的viewController,并在拍摄照片后通知其委托人何时调用dismissModalViewControllerAnimated。

编辑:添加一些关于实施的更多信息

在模态上呈现的视图控制器类中,您将声明一个协议:

@protocol YourUIViewControllerSubclassDelegate; 

然后,你会添加一个属性到你的类:

 @property (nonatomic, unsafe_unretained)id <YourUIViewControllerSubclassDelegate>delegate; 

最后,在您的类接口声明中调用@end之后,您将完成该协议:

 @protocol YourUIViewControllerSubclassDelegate <NSObject> - (void)viewController:(YourViewControllerSubclass *)viewController isBeingDismissedWithImage:(BOOL)imageTaken; @end 

因此,在你的YourUIViewControllerSubclass中,在调用dismissModalViewControllerAnimated之前,你可以这样做:

 [self.delegate viewController:self isBeingDismissedWithImage:YES or NO]; 

所以,当你创buildYourUIViewControllerSubclass时,你需要分配委托属性。 无论是YourUIViewControllerSubclass的委托,都需要符合YourUIViewControllerSubclassDelegate协议,并实现协议方法。 在这个协议方法的实现中,你可以切换到你想要切换到的任何选项卡。