Мне нужно скрыть первую ячейку за навигационной панелью при загрузке и ее можно увидеть только при прокрутке вниз по таблице.Скрыть первую ячейку за навигационной панелью
0
A
ответ
0
Вы можете скрыть первую ячейку за навигационной панели, установив его contentInset
в viewDidLoad
способом, как показано ниже:
self.tableView.contentInset = UIEdgeInsets(top: -44, left: 0, bottom: 0, right: 0)
После этого вы можете использовать scrollViewDidScroll
для обнаружения, если пользователь прокрутки tableView
и вы можете установить contentInset
снова один пользователь прокрутите вниз, как показано на рисунке код:
override func scrollViewDidScroll(scrollView: UIScrollView) {
if (self.lastContentOffset > scrollView.contentOffset.y) {
if lastContentOffset < -55{
if !tablevieSetTo0 {
self.tableView.contentInset = UIEdgeInsets(top: 65, left: 0, bottom: 0, right: 0)
tablevieSetTo0 = true
}
}
}
self.lastContentOffset = scrollView.contentOffset.y
}
И ниже полный код:
import UIKit
class TableViewController: UITableViewController {
let data = ["1", "2", "3", "4", "5"]
private var lastContentOffset: CGFloat = 0
var tablevieSetTo0 = false
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.contentInset = UIEdgeInsets(top: -44, left: 0, bottom: 0, right: 0)
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)
cell.textLabel?.text = data[indexPath.row]
return cell
}
override func scrollViewDidScroll(scrollView: UIScrollView) {
if (self.lastContentOffset > scrollView.contentOffset.y) {
if lastContentOffset < -55{
if !tablevieSetTo0 {
self.tableView.contentInset = UIEdgeInsets(top: 65, left: 0, bottom: 0, right: 0)
tablevieSetTo0 = true
}
}
}
self.lastContentOffset = scrollView.contentOffset.y
}
}
Проект sample для получения дополнительной информации.
Смежные вопросы
- 1. UITableView скрыть первую ячейку
- 2. Панель поиска за навигационной панелью
- 3. Bootstrap Slider за навигационной панелью
- 4. Twitter bootstrap background за навигационной панелью
- 5. Группа ввода застряла за навигационной панелью
- 6. Как получить изображение за навигационной панелью
- 7. Просмотр скрывается за навигационной панелью android
- 8. Пространство над навигационной панелью?
- 9. Android Потяните за строку состояния, но не за навигационной панелью
- 10. Логотип над навигационной панелью
- 11. Проблема с навигационной панелью
- 12. Пробел над навигационной панелью?
- 13. Вопросы, связанные с навигационной панелью
- 14. Кнопка управления навигационной панелью iPhone?
- 15. Выравнивание логотипа с навигационной панелью
- 16. UINavigationController space над навигационной панелью
- 17. Содержание тела съедено навигационной панелью
- 18. Скрыть заголовок таблицы, который содержит панель поиска под навигационной панелью?
- 19. Дополнительное пространство под навигационной панелью
- 20. Содержание страницы покрыто навигационной панелью
- 21. Xcode uiscrollview появляется за навигационной панелью в IB
- 22. make fixed div collapse за навигационной панелью на прокрутке
- 23. Пробел под навигационной панелью (переполнение)
- 24. Проблемы с настраиваемой навигационной панелью
- 25. Проблема с боковой навигационной панелью
- 26. Удалить место над навигационной панелью
- 27. Проблемы с горизонтальной навигационной панелью
- 28. Контроллер поиска с навигационной панелью
- 29. iOS - кнопка управления навигационной панелью
- 30. текстовое поле под навигационной панелью
Я бы порекомендовал добавить специальное подзаголовок для вашей цели, что может быть подсмотром UIScrollView, реализовать несколько методов делегата, отвечающих вашим потребностям. – antonio081014