Я создаю музыкальное приложение. Экран списка воспроизведения представляет собой UITableView. Он имеет 3 раздела: Предыдущие треки, Сейчас играет, Следующие треки.
Они в следующем порядке:
-- PREVIOUS TRACKS SECTION --
Track Z
Track Y
Track X
-- NOW PLAYING SECTION --
Track A
-- NEXT TRACKS --
Track B
Track C
Track D
Я всегда хочу, чтобы раздел «Сейчас исполнялся» прокручивался до верхней части табличного представления.
Это не проблема, если:
A) В разделе «Предыдущие треки» нет элементов или
Б) В разделе Следующие треки достаточно треков, чтобы пройти за нижнюю часть UITableView.
Однако, если, например, в разделе «Предыдущие дорожки» есть 10 дорожек, одна в разделе «Воспроизводится в данный момент» и 2 в разделе «Следующая дорожка», тогда, когда я сообщаю табличному представлению прокрутить, чтобы раздел «Сейчас исполняется» находился сверху из вида, он просто возвращается назад, так что он находится на 3 позиции от нижней части вида (2 элемента «Следующая дорожка» плюс играющий в данный момент).
Другими словами, посмотрите на свою iPod-библиотеку или любой TableView на iPhone. Что я пытаюсь сделать, так это прокрутить последний трек в списке вверху экрана и оставить пустое пространство под ним.
Есть ли способ сказать TableView не возвращаться на место в этом сценарии?
Я попытался воспроизвести там ячейку большой высоты, но она была хакерской и вызывает проблемы при переупорядочении ячеек в TableView.
Технически это Monotouch, но я в порядке с Objective C, так что любой язык в порядке.