如何在解除模型视图时从呈现的模态视图控制器中调用rootviewcontroller中的方法

时间:2012-05-08 11:00:45

标签: iphone objective-c ios methods uiviewcontroller

我有一个主视图控制器,它在应用程序启动时显示,它包含一个带有中心凸起按钮的标签栏,用于捕获图像。我已经使用UIimagepicker控制器呈现了一个模型视图控制器,在上传图像后我需要关闭模型并在主视图控制器中调用(UIimagepicker)方法

为此我写了这样的代码 .h文件

ViewController *viewController;
@property (retain) ViewController *viewController;

.m文件

    - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{

    if(buttonIndex == 0)
    {

        [self dismissModalViewControllerAnimated:YES];
        [viewController btnTap];

        NSLog(@"uploaded");
    }
    else{
         [self dismissModalViewControllerAnimated:YES];
    }

}

在viewcontroller .m

-(void)btnTap{

         [self.actForImage  showFromTabBar:tabBarController.tabBar];
        // act for image is the action sheet
        // this method will be called when click on the center button of tabbar
 }

我保留了断点并检查了 - (void)btnTap方法未被调用。 有没有其他方法可以调用主视图控制器中的方法。

1 个答案:

答案 0 :(得分:1)

代表是答案!

您需要做的是在ModalViewController中设置协议。而不是直接在你的modalViewController中解除它你应该在委托方法中解雇它。

看看这个答案:

Can't dismiss modal view when tap a button

这是解除委托类中的modalviewcontroller的方法。 在ViewController类中解除它后,您可以调用您喜欢的任何其他方法。

编辑: 评论中写的答案越广泛。