2016-11-03 18 views
0

У меня есть раздел JSON UICollectionView моего приложения. Моя оригинальная идея для кода изменилась, и теперь я просто хочу, чтобы выбранный образ отображался в полноэкранном режиме как эффект «лайтбокса» с полным контролем жестов зума.Изображение в полноэкранном режиме на кране через UICollectionView

У меня возникли проблемы с получением любого кода для работы с помощью жестов или других методов для моего вида коллекции.

Вот отрывок из поколения вида:

-(NSInteger)collectionView:(UICollectionView *)collectionView  numberOfItemsInSection:(NSInteger)section 
{ 
    return myObject.count; 
} 

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

    CustomColumnCell *myCell = [collectionView 
           dequeueReusableCellWithReuseIdentifier:@"myCell" 
           forIndexPath:indexPath]; 

    NSDictionary *tmpDict = [myObject objectAtIndex:indexPath.row]; 

    NSURL *url = [NSURL URLWithString:[tmpDict objectForKey:path]]; 
    NSData *data = [NSData dataWithContentsOfURL:url]; 
    UIImage *img = [[UIImage alloc] initWithData:data]; 

    myCell.displayImage.image = img; 
    myCell.displayDetail.text= [tmpDict objectForKey:name]; 

    return myCell; 
} 

Как просто включить полный вид экрана изображения повернутого? Я могу получить его в новом контроллере представления, но все, что мне просто нужно, это эффект стиля «лайтбоксов», когда изображение оживляется в направлении основного экрана и заполняет его в пропорции?

В приведенном ниже коде представлена ​​часть того, как я могу нажать на элементы, чтобы создать простой контроллер вида. Но мне нужно это на том же экране, просто переполненном на весь экран:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([[segue identifier] isEqualToString:@"showDetail"]) { 

     NSIndexPath *IndexPath = [[self.collectionView indexPathsForSelectedItems] objectAtIndex:0]; 
     NSDictionary *tmpDict = [myObject objectAtIndex:IndexPath.row]; 

     [[segue destinationViewController] setImageItem:[tmpDict objectForKey:path]]; 
     [[segue destinationViewController] setDetailItem:[tmpDict objectForKey:name]]; 

    } 
} 

У кого-нибудь есть идеи?

ответ

0

Если вы хотите, чтобы просмотреть выбранное изображение с анимацией вы можете использовать JTSImageViewController

Добавить библиотеку классов и сделать этот код это так.

// Create image info 
    JTSImageInfo *imageInfo = [[JTSImageInfo alloc] init]; 
    imageInfo.imageURL = [NSURL URLWithString:[[self.attachments objectAtIndex:indexPath.row] valueForKey:@"attach_file"]]; 
    imageInfo.referenceRect = self.frame; 
    imageInfo.referenceView = self.superview; 

    // Setup view controller 
    JTSImageViewController *imageViewer = [[JTSImageViewController alloc] 
              initWithImageInfo:imageInfo 
              mode:JTSImageViewControllerMode_Image 
              backgroundStyle:JTSImageViewControllerBackgroundOption_Blurred]; 

    // Present the view controller. 
    [imageViewer showFromViewController:self transition:JTSImageViewControllerTransition_FromOriginalPosition]; 

Надеюсь, это вам поможет.

+0

Спасибо, но как соединить их вместе? – user6934446

+0

Вы можете добавить жест в UIImageView, и при щелчке этого изображения вы можете написать этот код. но этот код требуется вызвать из viewcontroller, поэтому я предлагаю вам сделать один метод делегата и вызвать его с помощью этого кода. –

 Смежные вопросы

  • Нет связанных вопросов^_^