嗨朋友们,我必须开发一个照片管理应用程序。在这里我的图像应该安排在gris中查看我的iphone.i在谷歌分析我得到了一些框架工作。以下列表是
1.UICollectionView
以及我在网格视图中的功能列在下面
网格视图单元格允许UITapGestureRecognizer
删除图像单元格或编辑样式选项,如表格视图中所示。
创建自定义GridView单元格
请任何一个人能够把我发展好吗
答案 0 :(得分:1)
如果您创建自定义按钮,将图像路径存储在数组中,编写for循环以显示每行中的图像数量会更好。在每个自定义按钮中插入这些图像。它现在看起来像一个缩略图图像。
像这样,
imageArray =[[NSMutableArray alloc]init];
for (NSString* path in imagePath)
{
[imageArray addObject:[UIImage imageWithContentsOfFile:path]];
NSLog(@"%@",path);
}
NSLog(@"%@",imageArray);
NSLog(@"Yes");
myScrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0.0, 0.0, 320.0, 840.0)];
myScrollView.delegate = self;
myScrollView.contentSize = CGSizeMake(320.0, 840.0);
myScrollView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:myScrollView];
float horizontal = 8.0;
float vertical = 8.0;
for(int i=0; i<[imageArray count]; i++)
{
if((i%4) == 0 && i!=0)
{
horizontal = 8.0;
vertical = vertical + 70.0 + 8.0;
}
buttonImage = [UIButton buttonWithType:UIButtonTypeCustom];
[buttonImage setFrame:CGRectMake(horizontal, vertical, 70.0, 70.0)];
[buttonImage setTag:i];
[buttonImage setImage:[imageArray objectAtIndex:i] forState:UIControlStateNormal];
[buttonImage addTarget:self action:@selector(buttonImagePressedSmiley forControlEvents:UIControlEventTouchUpInside];
[buttonImage setImage:[UIImage imageNamed:@"check.jpg"] forState:UIControlStateSelected];
[myScrollView addSubview:buttonImage];
horizontal = horizontal + 70.0 + 8.0;
}
[myScrollView setContentSize:CGSizeMake(320.0, vertical + 78.0)];
<强>解释强>:
图像的路径存储在imagePath中。然后我们将imagePath存储在字符串(路径)中。现在,对于imageArray,我们正在添加路径的内容。因此imageArray现在包含所有图像的路径。然后创建一个for循环来显示每行4个图像。创建自定义按钮和按钮,逐个插入每个图像(使用imageArray)。创建一个滚动视图,将所有按钮图像放入其中。
您现在已完成为图像创建4 * 4网格视图。快乐的编码...
答案 1 :(得分:0)
似乎PSTCollectionView就是您所需要的。
它类似于UICollectionView,但适用于iOS 4.3。
您可以通过覆盖dataSource方法创建自定义单元格:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
此外,在此方法中,您可以为手机添加手势识别器。
答案 2 :(得分:0)
我目前正在使用 AQGridView
所以我肯定会推荐它,因为它是最少的错误,其功能与UITableView
非常相似。
另外,如果您尝试在没有 XIB 的情况下执行此操作,则处理它会有点困难,但您可以使用Xib文件创建一个视图控制器来创建您选择的界面。 Evadne Wu
{{1}}。 Here is the Video of how it can be done in the best possible way是示例项目
答案 3 :(得分:0)
ViewController.h
{
NSMutableArray *galleryarray;
}
@property (retain, nonatomic) IBOutlet UIScrollView *scrolll_photo;
ViewController.m
[self gallery];
Secondview.h
NSMutableArray *imagesArraySlide;
int imageCount;
@property (retain, nonatomic) IBOutlet UIScrollView *photoscroll;
@property (nonatomic, retain) NSMutableArray *imagesArraySlide;
@property (readwrite) int imageCount;
@property (readwrite) int imageID;
Secondview.m
[self loadphoto];
-(void)loadphoto
{
NSArray *viewsToRemove = [_photoscroll subviews];
for (UIView *view in viewsToRemove)
{
[view removeFromSuperview];
}
imageCount = [imagesArraySlide count];
_photoscroll.delegate = self;
_photoscroll.contentSize=CGSizeMake(320*imageCount, 380);
_photoscroll.scrollEnabled = TRUE;
_photoscroll.pagingEnabled = TRUE;
int scroll_x=0;
for(int i=1; i<=imageCount; i++)
{
UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(scroll_x, 20, 320, 380)];
imageView1.contentMode = UIViewContentModeScaleAspectFit;
imageView1.clipsToBounds = NO;
imageView1.autoresizingMask = UIViewContentModeScaleAspectFit;
imageView1.image=[UIImage imageNamed:[imagesArraySlide objectAtIndex:i-1]];
[_photoscroll addSubview:imageView1];
[imageView1 release];
scroll_x = scroll_x + 320;
}
[_photoscroll setContentOffset:CGPointMake(imageID*320, 0) animated:NO];
self.title = [NSString stringWithFormat:@"%d of %d",imageID+1,imageCount];
}
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
imageID = scrollView.contentOffset.x / scrollView.frame.size.width;
self.title = [NSString stringWithFormat:@"%d of %d",imageID+1,imageCount];
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
self.title = [NSString stringWithFormat:@"%d of %d",imageID+1,imageCount];
}