0

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

我找到了有关如何以编程方式切换选项卡的答案,但我不确定将此代码放在模态视图控制器中的哪个位置。

4

1 回答 1

3

您可以创建一个委托协议并将委托属性分配给模态呈现的视图控制器,并使其在拍照后即将调用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 时,您需要分配委托属性。谁是 YourUIViewControllerSubclass 的委托人,需要遵守 YourUIViewControllerSubclassDelegate 协议,并实现协议方法。在协议方法的这个实现中,您可以切换到您想要切换到的任何选项卡。

于 2012-08-29T15:46:26.297 回答