0

もう遅いし、この時点で私は頭が悪くて、一体何が起こっているのか理解できない. ここで明らかなエラーが見られる人はいますか。

ユーザーがそれを押したときにコレクションビューセルのフレームをアニメーション化しようとしています。

ビューコントローラーからの私のコードです。

-(void)collectionView:(UICollectionView *)collectionView didHighlightItemAtIndexPath:(NSIndexPath *)indexPath{

    NSLog(@"Highlighted");
    [[cells objectAtIndex:indexPath.row] shrinkCell:YES];


}

そして、これがセル内の私のコードです

-(void)shrinkCell:(BOOL)shrink{
    NSLog(@"Shrink");


    if (shrink) {


        [UIView animateWithDuration:1.0
                              delay:0.5
                            options: UIViewAnimationOptionCurveEaseIn
                         animations:^{
                             self.bg.frame = CGRectOffset(self.bg.frame, 100, 100);
                         }
                         completion:nil];
    }
}

私が実行している問題は、アニメーションがすぐに完了することです。遅延も持続時間もありません。そして、私はその理由を理解できません。誰にもヒントや考えがありますか?

本当にありがとう。

4

4 に答える 4

0

centerの代わりにプロパティをアニメーション化してみてくださいframe。私の推測では、あなたのフレームは何らかの理由でアニメーション化できなくなっていると思います。

于 2013-10-16T06:11:09.343 に答える
0

何か関係があるのか​​分かりませんが、その細胞はこの系統のどこから来ているのですか?

[[cells objectAtIndex:indexPath.row] shrinkCell:YES];

なぜ使わないのですか?:

[collectionView cellForItemAtIndexPath:indexPath];
于 2013-10-16T06:50:05.263 に答える