Не работайте с самим сотой.
В ваших ячейках отображаются данные, не так ли? Они должны.Эти данные (могут быть номерами, текстом или изображением, все) должны быть настраиваемым объектом.
Например, вы показываете список животных.
Так у вас есть Animal
класса, с различными свойствами (Size
, weight
, age
). Опять же, весь пример. Возможно, вы показываете список студентов, у которых есть FirstName, Lastname и т. Д. Допустим, мы используем Animal
.
У вас есть массив объектов Animal, у вас может быть 1 или 4 или 234234, это не имеет значения. Массив может содержать столько животных, сколько вы хотите. Но у вас есть только один массив.
Для просмотра вашей коллекции (или таблицы) необходимо создать ячейку для каждой строки. Сколько строк ?! Легко, другие методы говорят нам, что существует определенное количество строк в каждом разделе. Допустим, у нас есть только один раздел.
Как вы определяете строки? Вы даете ему номер. Какой номер? Количество животных в вашем массиве. Например, 5. Или, намного лучше, myAnimalsArray.Count
. Теперь, если у вас 20 животных, у вас будет 20 ячеек. Если у вас 3 животных, у вас будет 3 клетки.
Хорошо, теперь к ячейкам вы знаете, сколько у вас есть, и cellForRow создаст X-ячейки, X будет подсчетом вашего массива.
Вы, вероятно, имеют простую клетку для тестирования, как
cell.title = animal.name
, а затем вернуться в клетку. Здесь все псевдо-код, но вы получаете эту идею.
Теперь ваш фактический вопрос
Я написал все потому, что, в соответствии с вашими другими комментариями в другие ответы, вы, кажется, довольно смущенным.
У вас есть ваш массив животных (данные), и пока нет ячеек. Вы хотите начать с животного, у которого есть имя, начинающееся с E, например. Ну, после того, как у вас есть все животные в массиве, вам нужно найти ту, которая начинается с E (или любого другого фильтра, который вам может понравиться). Вы найдете его с помощью метода поиска. После его завершения вы узнаете индекс животного в массиве. Это элемент массива номер 23, это слон.
Создайте объект NSIndexPath
с разделом 0 и индексом 23 (потому что ваш фильтр нашел 23-й элемент, опять же, я просто использую примеры), и передайте этот объект indexPath на scroll method of the collectionview.
И вы хорошо;)
ли, что в ViewDidLayoutSubviews
или viewDidAppear
. (сначала лучше). Но вы должны это сделать после ваш массив животных загружен, иначе у вас не будет данных для фильтрации.
После того, как вы вызвали метод в ссылке выше, ваш просмотр коллекции будет прокручиваться, и если вы сделали это достаточно быстро, он будет загружаться с этим индексом, а не с нулевым индексом.
Благодарим вас за подробное объяснение. Были и другие проблемы, но я сам создал собственный индекс, чтобы использовать его в 'scrollToItemAtIndexPath'. – Mathias
Активирован для этой части. Создайте объект NSIndexPath с разделом 0 и индексом 23 (потому что ваш фильтр нашел 23-й элемент, опять же, я просто использую примеры) и передаю этот объект indexPath методу прокрутки коллекции. – Gandalf458