美文网首页
UISearchController搜索框问题

UISearchController搜索框问题

作者: 晓_我想去环游世界 | 来源:发表于2017-11-21 10:27 被阅读37次

    最近偶遇一个问题,当使用UISearchController来push一个新的界面时,push成功后搜索框依然存在,不知道是不是苹果的一个bug,但是可以通过增加一句代码来解决:

    self.definesPresentationContext=YES;

    那么这句话什么意思呢?

    definesPresentationContext这是一个布尔变量,表示该视图被覆盖时,视图或者它的子类提供了一个视图控制器。默认为NO,我们在做跳转时,需要一个跳转的环境,如果呈现的视图控制器不提供的话,需要呈现这个控制器的父视图控制器。此处因为UISearchController为呈现的视图控制器,它不提供这个跳转的环境,所以需要它的父视图控制器提供,所以设置父视图控制器的这个布尔变量为YES。

    这里需要注意个问题:

    普通的VC在push时虽然这个属性默认为NO,但是,是没有影响的,因为这种情况只发生在有新的视图控制器覆盖了当前控制器的情况。

    Determines which parent view controller's view should be presentedoverforpresentationsoftype view controller has this flagset,thenthepresente will betheroot view controller.

    翻译:确定哪一个控制器应该被作为UIModalPresentationCurrentContext类型的演示图像而呈现,如

    果没有父视图控制器设置了此标志,则呈现者将是当前控制器的根视图控

    制器。

    大意应该是,有视图控制器覆盖了根视图控制器,就手动设置根视图控制器为呈现的控制器,并作为跳转的环境。

    相关文章

      网友评论

          本文标题:UISearchController搜索框问题

          本文链接:https://www.haomeiwen.com/subject/mqmivxtx.html