swift - iOS 13 - 当 Search Active Push 到其他 VC 时,VC UITableView 在 Swift 4 的 NavigationBar 下

标签 swift uitableview uinavigationcontroller uisearchbar ios13

我已经在 iOS 12 中检查过它工作正常。问题是当我要搜索并推送到第二个 VC 时它工作正常。当我返回并再次推送到第二个 VC 时,UITableview 进入 NavigationBar 下方。正常推送工作正常,只有当搜索处于事件状态并推送第二次时才会出现问题。

我已经尝试了下面的解决方案,但这些都不适合我。

  1. UnderTopBar
  2. forKeyPath:"hidesShadow"
  3. edgesForExtendedLayout
  4. automaticallyAdjustsScrollViewInsets
  5. extendedLayoutIncludesOpaqueBars
  6. self.view 布局也是。

Please check this GIF

如果有人对此有答案和任何建议,请告诉我。谢谢。

最佳答案

如果有人有同样的问题,那么请尝试这个解决方案..

它对我有用。我希望它也对你有用。

目标-C

-(void)viewWillDisappear:(BOOL)animated{
    if (@available(iOS 13.0, *)) {
        [self.navigationController.view setNeedsLayout]; 
        [self.navigationController.view layoutIfNeeded];
    }
}

swift

func viewWillDisappear(_ animated: Bool) {
    if (@available(iOS 13.0, *)) {
         self.navigationController?.view.setNeedsLayout()     
         self.navigationController?.view.layoutIfNeeded()
    }
}

如果这不起作用,请检查操作系统版本 13.1.3。我认为它有效。

关于swift - iOS 13 - 当 Search Active Push 到其他 VC 时,VC UITableView 在 Swift 4 的 NavigationBar 下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58427943/

相关文章:

iOS:为什么没有显示导航栏?

iphone - UINavigationController 中的 "title"问题

ios - 在 UIPopoverController 中自定义 titleView

ios - 防止 UITextField 在更改 firstResponder 时取值

swift - 对象之间有什么区别(forKey :) and value(forKey:) in UserDefaults?

ios - UITableView - 未调用 cellForRowAtIndexPath

ios - UITableViewCell textLabel 使文本垂直对齐在顶部 &estimatedHeightForRowAtIndexPathUITableViewCell 在选定的单元格上跳转

iOS - 单元格分隔符不会出现在 UITableView 上

swift - Swift 中的斐波那契单线

json - 使用带有字典数组的字典进行 Swift JSON 解析