如何visible IndexPath
scrolling
collectionView
indexPathForCell
,factory.setVirtualHost("vhost");
,link1 link2,here但Swift不支持 Intent intent = new Intent(YourActivityName.this, MainActivity.class);
if(mainContext!=null){
mainContext.startActivity(intent);
((Activity)mainContext).finish();
}
。
答案 0 :(得分:15)
您是否尝试过委托功能?
public func indexPathsForVisibleItems() -> [NSIndexPath]
或
collectionView.indexPathsForVisibleItems()
这些必须给你你想要的东西。
答案 1 :(得分:7)
试试这个
代表
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)
答案 2 :(得分:4)
Swift,更安全的获取可见项目的方式:
if let indexPaths = self.collectionView.indexPathsForVisibleItems {
//Do something with an indexPaths array.
}
答案 3 :(得分:2)
这可以正常工作。
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
let visibleIndex = Int(targetContentOffset.pointee.x / collectionView.frame.width)
print(visibleIndex)
}
答案 4 :(得分:0)
您可以使用UICollectionView的方法:
let indexPath = NSIndexPath(item: value1, section: value2)