2013-03-09 3 views
1

привет друзьям я должен разработать приложение для управления фотографиями. здесь мои изображения должны устроить в gris View в моем iphone.i, проанализированном в Google, я получил некоторую работу Frame. список нижеРеализация сетки в Iphone?

1.UICollectionView

2. AQGridView

3. PSTCollectionView

, а также мои функции в виде сетки приведена ниже

  1. приложение должно быть совместимо с выше 4.3 iOS
  2. сетка Просмотреть ячейку позволяет удалить UITapGestureRecognizer для удаления ячейки изображения или изменить параметры стиля, например, в виде таблицы.

  3. создавать пользовательские GridView клетки

пожалуйста, может ли один sugest мне что хорошо развивать

ответ

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). Создайте scrollview, чтобы поместить в него все кнопки-изображения.

Теперь вы сделали вид сетки с 4 * 4 изображениями. HAPPY КОДИРОВАНИЕ ...

0

Похоже PSTCollectionView это то, что вам нужно.

Это похоже на UICollectionView, но работает на iOS 4.3.

Вы можете создавать собственные клетки с помощью переопределения метода DataSource:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 

Кроме того, в этом методе вы можете добавить жест распознаватель в камеру.

+0

является этой системой поддержки в прошивке 5 и IOS 6 – Vijay

+0

Да, мин является IOS 4,3 (iOS5 и iOS6 а) –

+0

[PSTCollectionView] (https://github.com/steipete/PSTCollectionView) – Bala

0

настоящее время я использую AQGridView поэтому, конечно, я рекомендую, поскольку это является наименее багги и его функции очень похожи на UITableView.

Также, если вы пытаетесь сделать это без XIB, вам будет немного сложно справиться с этим, но вы можете создать контроллер представления с Xib-файлом для создания интерфейса по вашему выбору. Here is the Video of how it can be done in the best possible way by Evadne Wuhere является Sample Project

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]; 
} 
Смежные вопросы