<分区>
最佳答案
这个问题的答案很难,因为这是基本的 iOS 知识,而且有多种解决方案。
我将如何解决这个问题:
创建自定义的 UICollectionViewCell
子类,它代表一个图 block 。
@interface UITileView : UICollectionViewCell
@property (nonatomic, weak) id<UITileViewDataSource> dataSource;
- (void)reloadTile;
@end
创建在 1. 中创建的 UICollectionViewCell
类的子类,代表特定的图 block 。
UICollectionView
,它将显示那些 UICollectionViewCell
。创建委托(delegate)/数据源架构,以提供带有数据或特定 subview 的图 block 。
@protocol UITileViewDataSource
- (UIImage *)tileView imageForIndexPath:(NSIndexPath *)indexPath;
- (NSString *)tileView tileStringForIndexPath:(NSIndexPath *)indexPath;
@end
使用 UIView
animateWithDuration:
方法(用于淡入和淡出的 alpha
属性)为图 block 设置动画。
// Fade in
mySpecificTile.alpha = 0.0f;
[UIView animateWithDuration:0.3 animations:^
{
mySpecificTile.alpha = 1.0f;
}
这可能是最快、最简单的解决方案。当然,您可以创建一个可扩展性更好的解决方案。只需确保磁贴不拥有数据并向数据源索取即可。
这只是一个概念,应该作为如何进行的指南。
阅读以下链接以获取有关 UICollectionView
的更多信息:
此处编写的所有代码仅适用于 ARC!
关于ios - 在 iOS 上创建动态磁贴效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22763802/