swift 导航栏嵌入UISearchController的表视图和搜索栏的动画

vmdwslir  于 2023-08-02  发布在  Swift
关注(0)|答案(3)|浏览(103)

我已经将UISearchController嵌入到导航栏中,我的视图控制器具有表视图。当我点击搜索栏和键盘出现tableview和搜索栏不顺利动画。似乎searchbar和navigationbar重叠了。
下面是代码,
将searchcontroller声明为一个变量,如

var resultSearchController = UISearchController()

字符串
viewDidLoad中的定义就像

self.resultSearchController = ({
        let controller = UISearchController(searchResultsController: nil)
        controller.searchResultsUpdater = self
        controller.obscuresBackgroundDuringPresentation = false;
        self.navigationItem.searchController = controller
        return controller
    })()


动画问题是像下面的gif(观看直到结束看到缓慢的动画)


的数据
我想为表视图,导航栏和搜索栏动画相同的持续时间。
任何帮助将不胜感激。

czfnxgou

czfnxgou1#

不要将UITableView顶部锚点设置为固定到safeArea,而是固定到superview

dxxyhpgq

dxxyhpgq2#

接受答案的重要附加说明:如果您将UIViewController与子视图(包括UITableView)一起使用,则UITableView必须是第一个子视图(即:在索引0处)。

k3bvogb1

k3bvogb13#

在我的例子中,在故事板中为UIViewController复选框禁用**Use Safe Area Layout Guides修复了这个问题。💀
关闭后请确认

  • Top Layout Guide的bottom -必须被约束到viewController中最上面的子视图。
  • Bottom Layout Guide ' top -必须约束到viewController中最底部的子视图。

P.S.这也修复了scopeBar动画问题。我用这篇文章的材料弄明白了这一点。MasterViewController是Main. storyboard。如果你感到困惑,你可以自己检查一下。
https://www.kodeco.com/4363809-uisearchcontroller-tutorial-getting-started
x1c 0d1x的数据

相关问题