2013-10-28 8 views
0

나는 통과 한 이미지의 양만큼 많은 셀을 표시하는 UICollectionView가 있습니다.UIImage를 탭의 클립 보드로 복사

이미지를 탭하면 해당 이미지가 클립 보드에 복사됩니다.

도움을 주시면 감사하겠습니다.

그것은 실제로 당신은 그냥 UICollectionView - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath의 대리자 메서드를 구현하는 경우 쉽게
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView 
      cellForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
CollectionViewCell *Cell = [collectionView 
          dequeueReusableCellWithReuseIdentifier:@"ImagesCell" 
          forIndexPath:indexPath]; 

UIImage *image; 
int row = indexPath.row; 

//set image of this cell 
image = [UIImage imageNamed:localImages.imageFiles[row]]; 
Cell.imageCell.image = image; 


//enable touch 
[Cell.imageCell setUserInteractionEnabled:YES]; 
Cell.imageCell.tag = row; 
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureRecognizer:)]; 
[tapGesture setNumberOfTapsRequired:1]; 
[Cell.imageCell addGestureRecognizer:tapGesture]; 

return Cell; 
} 


- (void)tapGestureRecognizer:(UITapGestureRecognizer *)sender 
{ 

NSInteger string = (sender.view.tag); 
NSLog(@"this is image %i",string); 

UIImage *copiedImage = I don't know what to put here.. 
[[UIPasteboard generalPasteboard] setImage:copiedImage]; 

} 

답변

0

그냥 이렇게 :

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { 
    CollectionViewCell *cell = (CollectionViewCell *)[collectionView cellForItemAtIndexPath:indexPath]; 
    UIImage *copiedImage = cell.imageCell.image; 
    [[UIPasteboard generalPasteboard] setImage:copiedImage]; 
} 

희망이 당신을 도와!

편집 : 당신은 이미지와 텍스트와 세포의 다른 유형이 있고 이미지 만에서 복사를 사용하려는 경우, 당신은 당신이 바로이 작업을 수행 할 필요가 전화 UITapGestureRecognizer 부분 것을 및 방법에서 구현해야합니다

- (void)tapGestureRecognizer:(UITapGestureRecognizer *)sender 
{ 

UIImageView *imageView = (UIImageView *)sender.view; 
UIImage *copiedImage = imageView.image; 
[[UIPasteboard generalPasteboard] setImage:copiedImage]; 

} 

UITapGestureRecognizer가 UIImageView에 첨부되었으므로이 뷰가 송신 뷰이므로 이미지를 직접 추출하여 대지로 복사 할 수 있습니다.