UICollectionViewDelegate
Наследование
Не применимый
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 6.0 и позже.
UICollectionViewDelegate протокол определяет методы, позволяющие Вам управлять выбором и выделением элементов в представлении набора и выполнять действия с теми элементами. Методы этого протокола являются все дополнительными.
Много методов этого протокола берут NSIndexPath объекты как параметры. Для поддержки представлений набора UIKit объявляет категорию на NSIndexPath это позволяет Вам получить представленный индекс элемента и индекс раздела, и создать новые индексные объекты контуров из индексных значений и элемента. Поскольку элементы расположены в их разделах, обычно необходимо оценивать индекс раздела, прежде чем можно будет идентифицировать элемент его индексом.
При конфигурировании объекта представления набора присвойте объект делегата delegate свойство. Для получения дополнительной информации посмотрите Ссылку класса UICollectionView.
-
Если указанный элемент должен быть выбран, спрашивает делегат.
Объявление
Swift
optional func collectionView(_collectionView: UICollectionView, shouldSelectItemAtIndexPathindexPath: NSIndexPath) -> BoolObjective C
- (BOOL)collectionView:(UICollectionView *)collectionViewshouldSelectItemAtIndexPath:(NSIndexPath *)indexPathПараметры
collectionViewОбъект представления набора, спрашивающий, должен ли измениться выбор.
indexPathИндексный путь ячейки, которая будет выбрана.
Возвращаемое значение
YEStrueесли элемент должен быть выбран илиNOfalseесли это не должно.Обсуждение
Когда пользователь пытается выбрать элемент в представлении набора, представление набора вызывает этот метод. Когда Вы программно устанавливаете выбор, это не вызывает этот метод.
Если Вы не реализуете этот метод, возвращаемое значение по умолчанию
YEStrue.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 6.0 и позже.
-
Говорит делегату, что был выбран элемент в указанном индексном пути.
Объявление
Swift
optional func collectionView(_collectionView: UICollectionView, didSelectItemAtIndexPathindexPath: NSIndexPath)Objective C
- (void)collectionView:(UICollectionView *)collectionViewdidSelectItemAtIndexPath:(NSIndexPath *)indexPathПараметры
collectionViewОбъект представления набора, уведомляющий Вас относительно изменения выбора.
indexPathИндексный путь выбранной ячейки.
Обсуждение
Когда пользователь успешно выбирает элемент в представлении набора, представление набора вызывает этот метод. Когда Вы программно устанавливаете выбор, это не вызывает этот метод.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 6.0 и позже.
-
Если указанный элемент должен быть невыбранным, спрашивает делегат.
Объявление
Swift
optional func collectionView(_collectionView: UICollectionView, shouldDeselectItemAtIndexPathindexPath: NSIndexPath) -> BoolObjective C
- (BOOL)collectionView:(UICollectionView *)collectionViewshouldDeselectItemAtIndexPath:(NSIndexPath *)indexPathПараметры
collectionViewОбъект представления набора, спрашивающий, должен ли измениться выбор.
indexPathИндексный путь ячейки, которая будет невыбранной.
Возвращаемое значение
YEStrueесли элемент должен быть невыбранным илиNOfalseесли это не должно.Обсуждение
Когда пользователь пытается отменить выбор элемента в представлении набора, представление набора вызывает этот метод. Когда Вы программно отменяете выбор элементов, это не вызывает этот метод.
Если Вы не реализуете этот метод, возвращаемое значение по умолчанию
YEStrue.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 6.0 и позже.
-
Говорит делегату, что был невыбранным элемент в указанном пути.
Объявление
Swift
optional func collectionView(_collectionView: UICollectionView, didDeselectItemAtIndexPathindexPath: NSIndexPath)Objective C
- (void)collectionView:(UICollectionView *)collectionViewdidDeselectItemAtIndexPath:(NSIndexPath *)indexPathПараметры
collectionViewОбъект представления набора, уведомляющий Вас относительно изменения выбора.
indexPathИндексный путь ячейки, которая была невыбранной.
Обсуждение
Когда пользователь успешно отменяет выбор элемента в представлении набора, представление набора вызывает этот метод. Когда Вы программно отменяете выбор элементов, это не вызывает этот метод.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 6.0 и позже.
-
collectionView (_: shouldHighlightItemAtIndexPath:) - collectionView:shouldHighlightItemAtIndexPath:Если элемент должен быть выделен во время отслеживания, спрашивает делегат.
Объявление
Swift
optional func collectionView(_collectionView: UICollectionView, shouldHighlightItemAtIndexPathindexPath: NSIndexPath) -> BoolObjective C
- (BOOL)collectionView:(UICollectionView *)collectionViewshouldHighlightItemAtIndexPath:(NSIndexPath *)indexPathПараметры
collectionViewОбъект представления набора, спрашивающий об изменении выделения.
indexPathИндексный путь ячейки, которая будет выделена.
Возвращаемое значение
YEStrueесли элемент должен быть выделен илиNOfalseесли это не должно.Обсуждение
Поскольку сенсорные события поступают, элементы выделений представления набора в ожидании пользователя, выбирающего их. Поскольку это обрабатывает те сенсорные события, представление набора вызывает этот метод для выяснения у делегата, если должна быть выделена данная ячейка. Если Вы программно устанавливаете выделение на ячейке, это вызывает этот метод только в ответ на взаимодействие с пользователем и не вызывает его.
Если Вы не реализуете этот метод, возвращаемое значение по умолчанию
YEStrue.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 6.0 и позже.
-
Говорит делегату, что был выделен элемент в указанном индексном пути.
Объявление
Swift
optional func collectionView(_collectionView: UICollectionView, didHighlightItemAtIndexPathindexPath: NSIndexPath)Objective C
- (void)collectionView:(UICollectionView *)collectionViewdidHighlightItemAtIndexPath:(NSIndexPath *)indexPathПараметры
collectionViewОбъект представления набора, уведомляющий Вас относительно изменения выделения.
indexPathИндексный путь выделенной ячейки.
Обсуждение
Если Вы программно устанавливаете выделение на ячейке, представление набора вызывает этот метод только в ответ на взаимодействие с пользователем и не вызывает его.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 6.0 и позже.
-
Говорит делегату, что выделение было удалено из элемента в указанном индексном пути.
Объявление
Swift
optional func collectionView(_collectionView: UICollectionView, didUnhighlightItemAtIndexPathindexPath: NSIndexPath)Objective C
- (void)collectionView:(UICollectionView *)collectionViewdidUnhighlightItemAtIndexPath:(NSIndexPath *)indexPathПараметры
collectionViewОбъект представления набора, уведомляющий Вас относительно изменения выделения.
indexPathИндексный путь ячейки, которой удалили ее выделение.
Обсуждение
Если Вы программно изменяете выделение на ячейке, представление набора вызывает этот метод только в ответ на взаимодействие с пользователем и не вызывает его.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 6.0 и позже.
-
collectionView (_: willDisplayCell:forItemAtIndexPath:) - collectionView:willDisplayCell:forItemAtIndexPath:Говорит делегату, что указанная ячейка собирается быть выведенной на экран в представлении набора.
Объявление
Swift
optional func collectionView(_collectionView: UICollectionView, willDisplayCellcell: UICollectionViewCell, forItemAtIndexPathindexPath: NSIndexPath)Objective C
- (void)collectionView:(UICollectionView *)collectionViewwillDisplayCell:(UICollectionViewCell *)cellforItemAtIndexPath:(NSIndexPath *)indexPathПараметры
collectionViewОбъект представления набора, добавляющий ячейку.
cellДобавляемый объект ячейки.
indexPathИндексный путь элемента данных, который представляет ячейка.
Обсуждение
Представление набора вызывает этот метод прежде, чем добавить ячейку к ее содержанию. Используйте этот метод для обнаружения дополнений ячейки, в противоположность контролю самой ячейки для наблюдения, когда это появится.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
collectionView (_: willDisplaySupplementaryView:forElementKind:atIndexPath:) - collectionView:willDisplaySupplementaryView:forElementKind:atIndexPath:Говорит делегату, что указанное дополнительное представление собирается быть выведенным на экран в представлении набора.
Объявление
Swift
optional func collectionView(_collectionView: UICollectionView, willDisplaySupplementaryViewview: UICollectionReusableView, forElementKindelementKind: String, atIndexPathindexPath: NSIndexPath)Objective C
- (void)collectionView:(UICollectionView *)collectionViewwillDisplaySupplementaryView:(UICollectionReusableView *)viewforElementKind:(NSString *)elementKindatIndexPath:(NSIndexPath *)indexPathПараметры
collectionViewОбъект представления набора, добавляющий дополнительное представление.
viewДобавляемое представление.
elementKindТип дополнительного представления. Эта строка определяется расположением, представляющим представление.
indexPathИндексный путь элемента данных, который представляет дополнительное представление.
Обсуждение
Представление набора вызывает этот метод прежде, чем добавить дополнительное представление к его содержанию. Используйте этот метод для обнаружения дополнений представления, в противоположность контролю самого представления для наблюдения, когда это появится.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
collectionView (_: didEndDisplayingCell:forItemAtIndexPath:) - collectionView:didEndDisplayingCell:forItemAtIndexPath:Говорит делегату, что указанная ячейка была удалена из представления набора.
Объявление
Swift
optional func collectionView(_collectionView: UICollectionView, didEndDisplayingCellcell: UICollectionViewCell, forItemAtIndexPathindexPath: NSIndexPath)Objective C
- (void)collectionView:(UICollectionView *)collectionViewdidEndDisplayingCell:(UICollectionViewCell *)cellforItemAtIndexPath:(NSIndexPath *)indexPathПараметры
collectionViewПредставление набора возражает, что удалил ячейку.
cellУдаленный объект ячейки.
indexPathИндексный путь элемента данных, что представлена ячейка.
Обсуждение
Используйте этот метод для обнаружения, когда ячейка удалена из представления набора, в противоположность контролю самого представления для наблюдения, когда это исчезает.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 6.0 и позже.
-
collectionView (_: didEndDisplayingSupplementaryView:forElementOfKind:atIndexPath:) - collectionView:didEndDisplayingSupplementaryView:forElementOfKind:atIndexPath:Говорит делегату, что указанное дополнительное представление было удалено из представления набора.
Объявление
Swift
optional func collectionView(_collectionView: UICollectionView, didEndDisplayingSupplementaryViewview: UICollectionReusableView, forElementOfKindelementKind: String, atIndexPathindexPath: NSIndexPath)Objective C
- (void)collectionView:(UICollectionView *)collectionViewdidEndDisplayingSupplementaryView:(UICollectionReusableView *)viewforElementOfKind:(NSString *)elementKindatIndexPath:(NSIndexPath *)indexPathПараметры
collectionViewПредставление набора возражает, что удалил дополнительное представление.
viewУдаленное представление.
elementKindТип дополнительного представления. Эта строка определяется расположением, представляющим представление.
indexPathИндексный путь элемента данных, что представлено дополнительное представление.
Обсуждение
Используйте этот метод для обнаружения, когда дополнительное представление удалено из представления набора, в противоположность контролю самого представления для наблюдения, когда это появляется или исчезает.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 6.0 и позже.
-
collectionView (_: transitionLayoutForOldLayout:newLayout:) - collectionView:transitionLayoutForOldLayout:newLayout:Просит пользовательское расположение перехода использовать при перемещении между указанными разметками.
Объявление
Swift
optional func collectionView(_collectionView: UICollectionView, transitionLayoutForOldLayoutfromLayout: UICollectionViewLayout, newLayouttoLayout: UICollectionViewLayout) -> UICollectionViewTransitionLayout!Objective C
- (UICollectionViewTransitionLayout *)collectionView:(UICollectionView *)collectionViewtransitionLayoutForOldLayout:(UICollectionViewLayout *)fromLayoutnewLayout:(UICollectionViewLayout *)toLayoutПараметры
collectionViewПредставление набора, объект расположения которого изменяется.
fromLayoutТекущий макет представления набора. Это - начальная точка для перехода.
toLayoutНовое расположение для представления набора.
Возвращаемое значение
Расположение перехода представления набора возражает для использования для выполнения перехода.
Обсуждение
Реализуйте этот метод, если Вы хотите возвратить пользовательское
UICollectionViewTransitionLayoutобъект для использования во время перехода. Объект расположения перехода позволяет Вам настроить поведение ячеек и представлений художественного оформления при переходе от одного расположения до следующего. Обычно, переход между разметками заставляет элементы анимировать непосредственно от их текущих расположений до их новых расположений. С объектом расположения перехода у Вас могут быть объекты, следуют за не линейным контуром, используют различный алгоритм синхронизации или перемещаются согласно входящим сенсорным событиям.Если Ваш делегат не реализует этот метод, представление набора создает стандарт
UICollectionViewTransitionLayoutобъект и использование, возражающее для управления переходом.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
-
collectionView (_: shouldShowMenuForItemAtIndexPath:) - collectionView:shouldShowMenuForItemAtIndexPath:Если меню действий должно быть выведено на экран для указанного элемента, спрашивает делегат.
Объявление
Swift
optional func collectionView(_collectionView: UICollectionView, shouldShowMenuForItemAtIndexPathindexPath: NSIndexPath) -> BoolObjective C
- (BOOL)collectionView:(UICollectionView *)collectionViewshouldShowMenuForItemAtIndexPath:(NSIndexPath *)indexPathПараметры
collectionViewОбъект представления набора, обращающийся с просьбой.
indexPathИндексный путь затронутого элемента.
Возвращаемое значение
YEStrueесли меню редактирования должно быть показано расположенное около элемента и указывающий на него илиNOfalseесли это не должно.Обсуждение
Если пользователь содержит касание определенный элемент в представлении набора, этот метод (если реализовано) вызывается сначала. Возвратиться
YEStrueесли Вы хотите разрешить меню редактирования быть выведенным на экран. ВозвратитьсяNOfalseесли меню редактирования не должно быть показано — например, Вы могли бы возвратитьсяNOfalseесли соответствующий элемент содержит данные, которые не должны быть скопированы или вставлены.Если Вы не реализуете этот метод, возвращаемое значение по умолчанию
NOfalse.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 6.0 и позже.
-
collectionView (_: canPerformAction:forItemAtIndexPath:withSender:) - collectionView:canPerformAction:forItemAtIndexPath:withSender:Спрашивает делегат, если это может выполнить указанное действие с элементом в представлении набора.
Объявление
Swift
optional func collectionView(_collectionView: UICollectionView, canPerformActionaction: Selector, forItemAtIndexPathindexPath: NSIndexPath, withSendersender: AnyObject!) -> BoolObjective C
- (BOOL)collectionView:(UICollectionView *)collectionViewcanPerformAction:(SEL)actionforItemAtIndexPath:(NSIndexPath *)indexPathwithSender:(id)senderПараметры
collectionViewОбъект представления набора, обращающийся с просьбой.
actionСелектор, идентифицирующий действие, которое будет выполняться.
indexPathИндексный путь затронутого элемента.
senderОбъект, хотящий инициировать действие.
Возвращаемое значение
YEStrueесли команда, соответствующая действию, должна появиться в меню редактирования илиNOfalseесли это не должно.Обсуждение
Этот метод вызывается после
collectionView:shouldShowMenuForItemAtIndexPath:метод. Это дает Вам возможность исключить команды из меню редактирования. Например, пользователь, возможно, скопировал некоторое содержание с одного элемента и хочет вставить его в другой элемент, который не может принять содержание. В таком случае мог возвратиться Ваш методNOfalseпредотвратить дисплей соответствующей команды.Если Вы не реализуете этот метод, возвращаемое значение по умолчанию
NOfalse.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 6.0 и позже.
-
collectionView (_: performAction:forItemAtIndexPath:withSender:) - collectionView:performAction:forItemAtIndexPath:withSender:Говорит делегату выполнять указанное действие с элементом в представлении набора.
Объявление
Swift
optional func collectionView(_collectionView: UICollectionView, performActionaction: Selector, forItemAtIndexPathindexPath: NSIndexPath, withSendersender: AnyObject!)Objective C
- (void)collectionView:(UICollectionView *)collectionViewperformAction:(SEL)actionforItemAtIndexPath:(NSIndexPath *)indexPathwithSender:(id)senderПараметры
collectionViewОбъект представления набора, обращающийся с просьбой.
actionСелектор, представляющий действие, которое будет выполняться.
indexPathИндексный путь затронутого элемента.
senderОбъект, инициировавший действие.
Обсуждение
Если пользователь касается действия в меню редактирования, представление набора вызывает этот метод. Ваша реализация этого метода должна сделать то, что является подходящим для действия. Например, для действия копии, это должно извлечь соответствующее содержание элемента и записать его в общую область монтажа или приложение (частная) область монтажа.
Для получения информации о том, как выполнить связанные с областью монтажа операции, см. Ссылку класса UIPasteboard.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 6.0 и позже.
