我在两个不同的实例中遇到类似的问题,但我觉得一个问题的解决方案将解决另一个问题。我是个菜鸟。我使用Collection View查看我使用NSArray填充的照片库。集合视图工作得很好,并以正确的顺序填充正确的图像。我只是无法弄清楚如何让详细视图与我具体的代码一起正常工作。我在.h文件中设置了我的代理:
@interface PhotoViewController : UICollectionViewController <UICollectionViewDelegate, UICollectionViewDataSource>
NSArray看起来像这样:
#import "PhotoViewController.h"
#import "PhotoViewCell.h"
#import "ImageDetailController.h"
@interface PhotoViewController ()
@end
@implementation PhotoViewController {
NSArray *array;
}
- (void)viewDidLoad {
array = [[NSArray alloc]initWithObjects:@"walkerthumb.png",@"farmerthumb.png",@"unrulythumb.png",@"fetchthumb.png",@"walkerthumb.png",@"farmerthumb.png",@"unrulythumb.png",@"fetchthumb.png",@"walkerthumb.png",@"farmerthumb.png",@"unrulythumb.png",@"fetchthumb.png",@"walkerthumb.png",@"farmerthumb.png",@"unrulythumb.png",@"fetchthumb.png",@"walkerthumb.png",@"farmerthumb.png",@"unrulythumb.png",@"fetchthumb.png",@"walkerthumb.png",@"farmerthumb.png",@"unrulythumb.png",@"fetchthumb.png", nil];
[super viewDidLoad];
// Do any additional setup after loading the view.
}
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
PhotoViewCell *cell = (PhotoViewCell*)[collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
[[cell myImageView]setImage:[UIImage imageNamed:[array objectAtIndex:indexPath.item]]];
return cell;
}
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return [array count];
}
在我单元格的头文件中,我有像这样调用的图像属性:
@property (weak, nonatomic) IBOutlet UIImageView *myImageView;
我试图根据点击的图片推送不同的细节视图。我知道它必须再次涉及某种阵列,但我不知道如何实现它。我不知道如何告诉Collection View该做什么。我在网上尝试过的教程都没有奏效。
答案 0 :(得分:0)
您必须实现以下方法才能获得点击 集合视图中的项目。 - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { // indexPath将返回单击的行索引和部分。 }