0

私のクラスは から継承しUITableViewCellています。画像が選択されたときに新しい詳細ビューをプッシュするカスタムトランジションを作成しました。

[UIView transitionWithView:self.masterView duration:0.5 options:UIViewAnimationOptionShowHideTransitionViews
                    animations:^ { 
                        [self.masterView addSubview:self.detailImage];
                    }
                    completion:nil];   

私のコードは正常に動作し、detailImageサブビューはトランジションで表示されますが、このトランジションは私が望むものではありません。私が実行したいのは、下から上への単純な遷移です。のリストにUIViewAnimationはそのようなアニメーションは含まれていません。

クラスの継承を変更せずにその遷移を使用する方法はありますUINavigationControllerか?

4

1 に答える 1

1

私があなたを正しく理解しているなら、以下のコードはあなたが望むものかもしれません.

CGRect detailImageFrameOri = self.detailImage.frame; 
CGRect detailImageFrame = detailImageFrameOri;
detailImageFrame.origin.y += self.detailImage.frame.size.height;
self.detailImage.frame = detailImageFrame;

[self.masterView addSubview:self.detailImage];

[UIView animateWithDuration:0.5 animations:^{
    self.detailImage.frame = detailImageFrameOri;
}];

これがあなたを助けることを願っています。

編集:上から下へ、

CGRect detailImageFrame = self.detailImage.frame;
detailImageFrame.origin.y += self.detailImage.frame.size.height;

[self.masterView addSubview:self.detailImage];

[UIView animateWithDuration:0.5 
                 animations:^{
                     self.detailImage.frame = detailImageFrame;
                 } 
                 completion:^(BOOL finished) {
                     [self.detailImage removeFromSuperview];      
                 }];
于 2012-06-19T03:13:16.283 に答える