0

我試圖用UICollectionView顯示一些圖像,我已經有了我想要的動畫(放大「活動」單元格),它在我剛剛使用時完美細胞。 當我將圖像添加到單元格時,它在第一次加載012d時按預期工作,但在我滾動它之後,UIImages中的一些會自動調整大小,並且它會擰緊整個事物。 任何想法爲什麼會發生這種情況? 下面的代碼我用來做動畫(定製佈局):UIImageView在UICollectionViewCell上自動調整大小,沒有明顯的原因

-(NSArray*)layoutAttributesForElementsInRect:(CGRect)rect 
{ 
    NSArray* array = [super layoutAttributesForElementsInRect:rect]; 
    CGRect visibleRect; 
    visibleRect.origin = self.collectionView.contentOffset; 
    visibleRect.size = self.collectionView.bounds.size; 
    for (UICollectionViewLayoutAttributes* attributes in array) { 
     if (CGRectIntersectsRect(attributes.frame, rect)) { 
      CGFloat distance = CGRectGetMidX(visibleRect) - attributes.center.x; 
      CGFloat normalizedDistance = distance/ACTIVE_DISTANCE; 
      if (ABS(distance) < ACTIVE_DISTANCE) { 
       CGFloat zoom = 1 + ZOOM_FACTOR*(1 - ABS(normalizedDistance)); 
       attributes.transform3D = CATransform3DMakeScale(zoom, zoom, 1.0); 
       attributes.zIndex = 1; 
      } 
     } 
    } 
    return array; 
} 


- (CGPoint)targetContentOffsetForProposedContentOffset:(CGPoint)proposedContentOffset withScrollingVelocity:(CGPoint)velocity 
{ 
    CGFloat offsetAdjustment = MAXFLOAT; 
    CGFloat horizontalCenter = proposedContentOffset.x + (CGRectGetWidth(self.collectionView.bounds)/2.0); 

    CGRect targetRect = CGRectMake(proposedContentOffset.x, 0.0, self.collectionView.bounds.size.width, self.collectionView.bounds.size.height); 
    NSArray* array = [super layoutAttributesForElementsInRect:targetRect]; 

    for (UICollectionViewLayoutAttributes* layoutAttributes in array) { 
     CGFloat itemHorizontalCenter = layoutAttributes.center.x; 
     if (ABS(itemHorizontalCenter - horizontalCenter) < ABS(offsetAdjustment)) { 
      offsetAdjustment = itemHorizontalCenter - horizontalCenter; 
     } 
    } 
    return CGPointMake(proposedContentOffset.x + offsetAdjustment, proposedContentOffset.y); 
} 

,這裏是它的開始是如何的圖像,然後它是如何結束後,我翻閱它: 1st load

After scrolling

回答

0

我解決了這個問題。事實證明,iOS 6的自動佈局混亂了我的用戶界面。只需要玩弄限制,現在它就可以工作。

相關問題