我遇到了问题:我想在UICollectionview底部的1个按钮允许用户选择所有照片。当按钮总是在集合视图的底部滚动时,该按钮是全选按钮。当我点击该按钮时,将检查集合视图中的所有照片。我尝试添加页脚,但这不是我想要的。我不知道如何添加该按钮。请给我一些建议。提前谢谢。
编辑:包含图片:
您可以在此处查看图片:1
收集视图底部的"全选"按钮。用户长按5秒后会出现该按钮。如果用户单击此按钮,将选择所有照片。我怎么能这样做?
答案 0 :(得分:0)
听起来像你应该只在集合视图下面添加一个UIButton并使集合视图的框架更短。通过这种方式,您可以让按钮操作操作集合视图,并始终在底部
UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(0,200,320,50)];
[self.contentView addSubview:button];
答案 1 :(得分:0)
UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(0,200,320,50)];
[self.view addSubview:button];
如果你想把视图放在前面,你可以选择一些API。
bringSubviewToFront:
移动指定的子视图,使其显示在其兄弟姐妹的顶部。
sendSubviewToBack:
移动指定的子视图,使其显示在其兄弟之后。
insertSubview:atIndex:
在指定的索引处插入子视图。
insertSubview:aboveSubview:
在视图层次结构中的另一个视图上方插入视图。
更多细节,flow Apple doc。
答案 2 :(得分:0)
如果您想要选择所有按钮始终位于底部,那么您应该将其添加到视图中,并确保在添加集合视图后添加按钮,它将始终位于底部。
您可以在集合视图上添加长按手势,如下所示:
- (void)viewDidLoad
{
// attach long press gesture to collectionView
UILongPressGestureRecognizer *lpgr
= [[UILongPressGestureRecognizer alloc]
initWithTarget:self action:@selector(handleLongPress:)];
lpgr.minimumPressDuration = .5; //seconds
lpgr.delaysTouchesBegan = YES;
lpgr.delegate = self;
[self.collectionView addGestureRecognizer:lpgr];
}
-(void)handleLongPress:(UILongPressGestureRecognizer *)gestureRecognizer
{
if (gestureRecognizer.state != UIGestureRecognizerStateEnded) {
return;
}
CGPoint p = [gestureRecognizer locationInView:self.collectionView];
NSIndexPath *indexPath = [self.collectionView indexPathForItemAtPoint:p];
if (indexPath == nil){
NSLog(@"couldn't find index path");
} else {
UIButton *btnSelectAll = [UIButton buttonWithType:UIButtonTypeCustom];
btnSelectAll.frame = CGRectMake(110,437,100,30);
[[btnSelectAll titleLabel] setFont:[UIFont systemFontOfSize:18]];
[btnSelectAll setImage:[UIImage imageNamed:@"selectImage"] forState:UIControlStateNormal];
[btnSelectAll addTarget:self action:@selector(selectAllEvent:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btnSelectAll];
}
}
-(IBAction)selectAllEvent:(id)sender{
//Write code to select all images
}
并且完成后不要忘记从超级视图中删除该按钮。我认为这会有所帮助。