iOS   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了objective-c – 如何访问父视图?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在尝试从代码访问故事板以便能够使用此行: DetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"detail"]; 我在mapview和listview中使用它,但想在其他地方使用它. 问题是这个视图,是另一个视图的子视图. 它的设置如下: thisBigView是我在
我正在尝试从代码访问故事板以便能够使用此行:

DetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"detail"];

我在mapview和listview中使用它,但想在其他地方使用它.
问题是这个视图,是另一个视图的子视图.

它的设置如下:

thisBigView是我在故事板中添加的视图,它是ThisBigViewController
在故事板中,我为该视图添加了另一个视图,让我们称之为thissmallView.该类设置为ThissmallView.

ThissmallView是一个自定义视图,我在视图中动态生成按钮.这些按钮调用以下操作:

-(void) radarEventClick:(UIButton *)sender{
    SingletonManager *sharedManager = [SingletonManager sharedManager];

    DetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"detail"]; // PROBLEM 1

    Event *a;
    for(int i = 0; i < [sharedManager.eventsmanager count]; i++){
        if(sender.tag == ((Event*)([sharedManager.eventsmanager objectATindex:i])).id_nr){
            a = [sharedManager.eventsmanager objectATindex:i];
            break;
        }
    }

    [detail setEvent:a];

    [self.navigationController pushViewController:detail animated:YES];    // PROBLEM 2

}

这是我在mapviewcontroller中使用的代码,用于响应Annotationdisclosure点击,并希望在此处使用它,但我有2个问题!

问题1:因为thissmallView是另一个视图的子视图,所以它无法直接访问故事板,也不知道如何获取该访问权限.

问题2:thisBigView嵌入了一个导航控制器,但同样,我不知道是谁访问thisBigView,所以我无法访问navigationcontroller.

(我想如果我能解决问题2,我会自动解决问题1到?)

– 编辑:我试过的 –

DetailViewController *detail = [self.superview.storyboard instantiateViewControllerWithIdentifier:@"detail"];

但后来我只是在’UIView *’类型的对象上找不到’属性故事板’

解决方法

将子视图添加为界面构建器中超级视图的属性(控制 – 拖动到头文件).然后将uIViewController属性添加到子视图.在superview的代码中然后做

nameOfSubView.superViewPropertyName = self;

大佬总结

以上是大佬教程为你收集整理的objective-c – 如何访问父视图?全部内容,希望文章能够帮你解决objective-c – 如何访问父视图?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。