【发布时间】:2016-03-02 07:09:37
【问题描述】:
【问题讨论】:
标签: ios swift uicollectionview
【问题讨论】:
标签: ios swift uicollectionview
你试过委托功能吗?
public func indexPathsForVisibleItems() -> [NSIndexPath]
或
collectionView.indexPathsForVisibleItems()
这些必须给你你想要的。
【讨论】:
Swift,获取可见项目的更安全方式:
if let indexPaths = self.collectionView.indexPathsForVisibleItems {
//Do something with an indexPaths array.
}
【讨论】:
试试这个
委托
func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
for cell in yourCollectionViewname.visibleCells() as [UICollectionViewCell] {
let indexPath = yourCollectionViewname.indexPathForCell(cell as UICollectionViewCell)
NSLog("%@", indexPath)
}
}
选择 2
按钮点击
var point : CGPoint = sender.convertPoint(CGPointZero, toView:yourCollectionViewname)
var indexPath =yourCollectionViewname!.indexPathForItemAtPoint(point)
显示所有项目
您可以使用 indexPathsForVisibleRows
返回一个索引路径数组,每个索引路径标识接收器中的可见行。
- (NSArray *)indexPathsForVisibleItems;
var visible: [AnyObject] = yourCollectionViewname.indexPathsForVisibleItems
var indexpath: NSIndexPath = (visible[0] as! NSIndexPath)
【讨论】:
这会很好用。
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
let visibleIndex = Int(targetContentOffset.pointee.x / collectionView.frame.width)
print(visibleIndex)
}
【讨论】:
你可以使用 UICollectionView 的方法:
let indexPath = NSIndexPath(item: value1, section: value2)
【讨论】: