如何在uicollectionview中放大单元格的内容
Posted
技术标签:
【中文标题】如何在uicollectionview中放大单元格的内容【英文标题】:How to zoom in the content of cell in uicollectionview 【发布时间】:2016-12-01 11:40:13 【问题描述】:在上图中,A、B、C、D、E 是集合视图的每个自定义单元格,我想像 c 单元格一样放大单元格。
有什么建议吗?
【问题讨论】:
我猜你应该再有一种自定义单元格来实现缩放效果。 【参考方案1】:当你的collectionviewcell点击时调用这个方法
[self animateZoomforCell:cell]; // pass cell as collectionviewcell
-(void)animateZoomforCell:(UICollectionViewCell*)zoomCell
[UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^
zoomCell.transform = CGAffineTransformMakeScale(1.6,1.6);
completion:^(BOOL finished)
];
-(void)animateZoomforCellremove:(UICollectionViewCell*)zoomCell
[UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^
zoomCell.transform = CGAffineTransformMakeScale(1.0,1.0);
completion:^(BOOL finished)
];
【讨论】:
@ParveshSingh 你的问题解决了吗,然后批准我的回答并投票,这样其他用户也可以找到解决方案。谢谢你。快乐编码 @ParveshSingh 您也可以使用此方法缩放 tableviewcell 也只需将 UICollectionViewCell 更改为 UITableviewCell 的一件事【参考方案2】:在swift 3中基于Himanshu Moradiya的解决方案:
func animateZoomforCell(zoomCell : UICollectionViewCell)
UIView.animate(
withDuration: 0.2,
delay: 0,
options: UIViewAnimationOptions.curveEaseOut,
animations:
zoomCell.transform = CGAffineTransform.init(scaleX: 1.2, y: 1.2)
,
completion: nil)
func animateZoomforCellremove(zoomCell : UICollectionViewCell)
UIView.animate(
withDuration: 0.2,
delay: 0,
options: UIViewAnimationOptions.curveEaseOut,
animations:
zoomCell.transform = CGAffineTransform.init(scaleX: 1.0, y: 1.0)
,
completion: nil)
【讨论】:
以上是关于如何在uicollectionview中放大单元格的内容的主要内容,如果未能解决你的问题,请参考以下文章
UICollectionViewCell 内的 CALayer 捏
如何在 iOS 中动态更改 UICollectionView 单元格高度