我有一个移动应用程序,需要两个单独的图像库。我已经使用UICollectionView完成了第一个。我已经完成了所有设置,以便UICollectionView完美运行,我只是希望能够点击每个图像以全屏查看它们。我还想知道如何在具有不同图像的不同页面上构建第二个UICollectionView。它是否像制作第二个UICollectionView并将其命名为myCollectionView2一样简单,与图像阵列相同?
这是我目前第一个集合的代码:
#import "CollectionViewController.h"
#import "CustomCell.h"
@interface CollectionViewController ()
{
NSArray *ArrayOfImages;
}
@end
@implementation CollectionViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
[[self myCollectionView1]setDataSource:self];
[[self myCollectionView1]setDelegate:self];
ArrayOfImages = [[NSArray alloc] initWithObjects:@"MacLeodsAccessories.png", @"MacleodsBag.png", @"MacleodsBag1.png", @"MacleodsBag2.png", @"MacleodsCollar.png", @"MacleodsCushions.png", @"MacleodsPurse.png", @"MacleodsTeaAndCoffee.png", nil];
}
//datasource and delegate method
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
return 1;
}
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return [ArrayOfImages count];
}
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
CustomCell *cell =[collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
[[cell myImage]setImage: [UIImage imageNamed:[ArrayOfImages objectAtIndex:indexPath.item]]];
这可能是错误的编码,可能是多余的,但或者可能正是我需要的,我只是不知道如何纠正它以及我在这里放置的能使这项工作的内容。
[[cell myImage]setGestureRecognizers:[ArrayOfImages objectAtIndex:indexPath.item]];
return cell;
}
如果有人能提供帮助,我会非常感激。 提前谢谢。
答案 0 :(得分:0)
要响应UICollectionView中的选择,您必须使用您的UICollectionViewController已符合的implement at least one method in the UICollectionViewDelegate Protocol。
开始于:
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
在此方法中放置一个断点,您将看到每次触摸集合视图的元素时,都会触发此方法并为您包含indexPath。
您所描述的内容的常用方法将涉及获取该路径引用的图像,将其放置在更大的UIImageView中并将该视图添加到层次结构中。
答案 1 :(得分:0)
不要创建两个或更多UICollectionview。你可以做什么,当第二页可见时重新加载带有空数组的Collectionview。一旦您的页面可见,将新的图像集加载到Collectionview中,反之亦然。