2016-11-21 4 views
0

имеют свойствоTableview отображения клетки uncorrectly

var resultSearchController = UISearchController() 

Создание UISearchController на viewDidLoad метод()

 self.resultSearchController = ({ 
     let controller = UISearchController(searchResultsController: nil) 
     controller.searchResultsUpdater = self 
     controller.dimsBackgroundDuringPresentation = false 
     controller.searchBar.sizeToFit() 
     controller.searchBar.barStyle = UIBarStyle.black 
     controller.searchBar.barTintColor = UIColor.white 
     controller.searchBar.backgroundColor = UIColor.clear 
     controller.hidesNavigationBarDuringPresentation = false 
     self.tableView.tableHeaderView = controller.searchBar 
     return controller 
    })() 

В результате есть текст заметки с нормальным отображением плюс и особенно отображения отталкиваться на текст на левой стороне верхний угол каждой ячейки. Что я могу сделать неправильно? P.S. Разобрался, скорее всего, не имеют ничего общего с UISearchBar

enter image description here

ответ

0

Я нашел строки, которые совершил ошибку. Я использовал свойство cell.textLabel вместо cell.noteLabel. Ты для своего времени.

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cellIdentifier = "NoteTableViewCell" 

    let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! NoteTableViewCell 
    let note: Note 
    if self.resultSearchController.isActive { 
     note = filteredNotes[indexPath.row] 
     cell.textLabel?.text = filteredNotes[indexPath.row].note 
    } else { 
     note = notes[indexPath.row] 
     cell.textLabel?.text = notes[indexPath.row].note 
    } 

    return cell 
} 
+0

Нет проблем. Удачи. – MacUserT

1

Я не знаком с тем, как вы создаете resultSearchController, так как я никогда не видел такую ​​конструкцию. Однако это могут быть мои ограниченные знания. Я бы создал resultSearchController немного по-другому с более вероятным успешным результатом.

lazy var resultSearchController : UISearchController = { 
     let controller = UISearchController(searchResultsController: nil) 
     controller.searchResultsUpdater = self 
     controller.dimsBackgroundDuringPresentation = false 
     controller.searchBar.sizeToFit() 
     controller.searchBar.barStyle = UIBarStyle.black 
     controller.searchBar.barTintColor = UIColor.white 
     controller.searchBar.backgroundColor = UIColor.clear 
     controller.hidesNavigationBarDuringPresentation = false 
     self.tableView.tableHeaderView = controller.searchBar 
     return controller 
}() 

Это правильный способ лениво инициализировать переменную, которая будет создана при использовании и получить все настройки, которые вы определили.

Если это не сработало, это не проблема определения и инициализации, и вы должны показать еще один код, где это может пойти не так.

+0

ty для этого совета – L1GhTUA

+0

Работает ли он сейчас? – MacUserT

+0

Да, прочитайте мой ответ – L1GhTUA

 Смежные вопросы

  • Нет связанных вопросов^_^