关闭Storyboard中打开的Popover

关闭Storyboard中打开的Popover,第1张

概述可能UIPopoverController只能在iPad上使用,而这个问题又是使用iOS5之后出现的,很少人关注这个,我之前也花了不少时间才在一个外国人的blog里面找到解决办法。 这个问题是由于使用storyboard连接之后,直接使用时VC中是不知道这个popover指针的,从而无法通过dismisspopover来关闭,所以想要在程序中控制popover需要从storyboard的segue @H_404_2@ 可能UIPopoverController只能在iPad上使用,而这个问题又是使用iOS5之后出现的,很少人关注这个,我之前也花了不少时间才在一个外国人的blog里面找到解决办法。
这个问题是由于使用storyboard连接之后,直接使用时VC中是不知道这个popover指针的,从而无法通过dismisspopover来关闭,所以想要在程序中控制popover需要从storyboard的segue中找到这个popover的指针:
假如你是从FooAVIEwControllerd出FooBVIEwController,首先在IB中选中这个popover segue加上一个IDentifIEr,如showPopover,如果你需要在FooB中dismiss,那就在FooB中加入属性@property (nonatomic,weak) UIPopoverController *popover;,然后在FooA中的-(voID)prepareForSegue:(UIStoryboardSegue *)segue sender:(ID)sender代码段中加入
复制代码 if ([segue.IDentifIEr isEqualToString:@"showPopover"]) {              FooBVIEwController *bVC=segue.destinationVIEwController;              bVC.popover =  [(UIStoryboardPopoverSegue *)segue popoverController]; }



    主要就是用[(UIStoryboardPopoverSegue *)segue popoverController]这句得到popover的指针,之后你自己就可以随意 *** 作了。 PS:建议使用popover的时候尽量用代码,比较好控制,在storyboard中直接使用d出的话,从普通按钮d出还好,如果从bar button item点击d出的话,反复点击是不会自动dismiss的,只会不断的创建新的popover框 @H_404_2@ 总结

以上是内存溢出为你收集整理的关闭Storyboard中打开的Popover全部内容,希望文章能够帮你解决关闭Storyboard中打开的Popover所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存