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 回答