iOS-在iOS7中获取模式控制器的父控制器

汤姆

我在Xcode 5中将UINavigationController添加到了界面构建器中,并将其标识符命名为“ importer”,然后在Home controller中,根据这些代码,我将其用作模式窗口-

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"main" bundle:nil];
            UINavigationController *importer = [storyboard instantiateViewControllerWithIdentifier:@"importer"];

            [self presentViewController:importer animated:YES completion:nil];

它运行良好,并且导入器控制器在其UITableView中显示了正确的数据。然后,当我关闭导入器控制器时,我在导入器控制器中使用此代码-

 [self dismissViewControllerAnimated:YES completion:^{

        HomeController *p = (HomeController *)self.presentedViewController;
        NSLog(@"home controller = %@", p);
        [p onCompleteImport];

    }];

HomeController是提供导入器控制器的人,我想从完成块中获取HomeController,但它给了我“空”,那么如何从导入器控制器中获取HomeController?谢谢。

我尝试了presentingViewController,parentViewController,presentedViewController,甚至self.navigationController.presentingViewController,self.navigationController.presentedViewController和self.navigationController.parentViewController都失败了。

在此处输入图片说明

吉拉特·基

试试这个:

HomeController *p = (HomeController *)self.presentingViewController;
[self dismissViewControllerAnimated:YES completion:^{
    NSLog(@"home controller = %@", p);
    [p onCompleteImport];
}];

在使用块之前将其保留,因为动画完成时已将“导入器”关闭。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

导航控制器以编程方式查看控制器无法正常运行IOS7

iOS7 / IOS8在视图控制器中仅允许纵向

iOS 7半透明模式视图控制器

在弹出控制器时隐藏iOS7中的UINavigationBar

苹果的控制器无法在iOS7中正确显示

使用Storyboard ios7在选项卡栏控制器中设置选定的图像

我的视图控制器中的iOS 7视差效果

iOS中控制器之间的通信

iOS中的模型-视图-控制器

iOS-具有对父视图控制器的“强大”引用的子视图控制器

iOS中子视图控制器方向更改时如何旋转父视图控制器

IOS7状态栏在选定控制器上隐藏/显示

ios7下Tab栏控制器上的多余行

使用情节提要IOS7将UIview控制器显示为子视图

iOS7在导航控制器推送视图设置中按协议向后传递数据

iOS控制器模式-通过3个视图控制器的相同实例

iOS 7:如何用表格视图控制器替换标准视图控制器

iOS,从视图获取指向控制器的指针

在iOS中,初始视图控制器始终与根视图控制器相同

处理驻留在父视图控制器(ios)中的按钮的触摸

创建自己的导航控制器iOS

iOS无法关闭视图控制器

iOS警报控制器白屏

iOS推视图控制器崩溃

导航控制器 Xamarin.ios

iOS 7-在呈现模态视图控制器时获取警告消息

iOS:包裹在导航控制器中时,将数据传递到模式VC

在iOS 11中,关闭模式呈现的导航控制器会导致视觉重复

如何在iOS中将相同的子View控制器添加到父View控制器?