在我的应用中,您可以使用模态视图添加照片。当模态视图被解除时,我想自动将标签栏控制器切换到第二个标签(照片查看器屏幕)。
我发现this answer关于如何以编程方式切换标签,但我不确定将此代码放在模态视图控制器中的哪个位置。
答案 0 :(得分:3)
您可以创建委托协议并将委托属性分配给以模态方式呈现的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];
因此,在创建YourUIViewControllerSubclass时,需要分配delegate属性。无论谁是YourUIViewControllerSubclass的委托,都需要符合YourUIViewControllerSubclassDelegate协议,并实现协议方法。在协议方法的这个实现中,您将切换到要切换到的任何选项卡。