Странное поведение прокрутки tableView с searchController - PullRequest
0 голосов
/ 22 января 2019

Я реализовал UISearchController для ViewController с tableView на нем, и теперь я столкнулся с проблемой странного поведения прокрутки tableView. После прокрутки tableView вниз и постукивания по строке состояния для прокрутки назад к верхнему столу ViewView не возвращается в правильное положение (прямо под панелью навигации). Похоже, он останавливает анимацию на полпути. Он возвращается к началу, если после этого вы дотронетесь до tableView. Взгляните на это gif чтобы увидеть это сами.

Проблема остается на симуляторе и на реальном устройстве (iPhone7)

Это код, который я устанавливаю с помощью searchController:

class MyViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UISearchResultsUpdating {

@IBOutlet weak var tableView: UITableView!

var searchController = UISearchController(searchResultsController: nil)        

override func viewDidLoad() {
   searchController.searchResultsUpdater = self
   searchController.obscuresBackgroundDuringPresentation = false
   searchController.searchBar.placeholder = "Search..."
   navigationItem.searchController = searchController
   definesPresentationContext = true 
   }
...
}

Что может вызвать такое поведение и как это исправить?

1 Ответ

0 голосов
/ 22 января 2019

Может быть, пара вещей, чтобы попробовать:

  • Я помню, что установил ограничения макета на Superview вместо справки по безопасной области с прокруткой моего tableView, когда ViewController был встроен в контроллер навигации.

  • Также может помочь добавление этого свойства в ViewController, если первое не поможет:

    extendedLayoutIncludesOpaqueBars = true
    
...