objective-c – 如何访问父视图?

objective-c – 如何访问父视图?,第1张

概述我正在尝试从代码访问故事板以便能够使用此行: 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 – 如何访问父视图?所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1014757.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存