gpt4 book ai didi

ios - 转换从 View : and strange behavior with flip.

转载 作者:可可西里 更新时间:2023-11-01 03:08:20 26 4
gpt4 key购买 nike

我有一个图片墙 (UIScrollView),里面有很多 UIImageView 的

这是我的代码:

for (ThumbPosterModel *tPoster in _thumbsPosterStack) {

UIImageView *imageView = [[UIImageView alloc] initWithImage:tPoster.thumb];
imageView.userInteractionEnabled = YES;
imageView.frame = CGRectMake(i, imageView.frame.origin.y, imageView.frame.size.width, imageView.frame.size.height);

[tPoster setTag:tag];
[_posterTagArr addObject:(BasicPosterModel*)tPoster];

imageView.tag = tag;
tag++;
[posterWallScrollView addSubview:imageView];

UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageDoubleTapped:)];
doubleTap.numberOfTapsRequired = 2;
[imageView addGestureRecognizer:doubleTap];
}

这是我的 IBAction:

-(IBAction)imageDoubleTapped:(id)sender {
NSInteger selectTag = (((UIGestureRecognizer*)sender).view.tag);
for (BasicPosterModel *bPoster in _posterTagArr) {
if(bPoster.tag == selectTag) {
[UIView transitionFromView:(UIImageView*)((UIGestureRecognizer*)sender).view
toView:mySecordView //let's say next ImageView. Doesn't matter
duration:1.0
options:UIViewAnimationOptionTransitionCrossDissolve
completion:^(BOOL finished) {
// animation completed
}];

}
}
}

当我使用时:

UIViewAnimationOptionTransitionCrossDissolve 这对我在 ScrollView 中的图像有效。当我在此代码中使用 UIViewAnimationOptionTransitionFlipFromTop 时,这会影响我的 scrollView。

这怎么可能?

当然,我只想为单个图像设置动画效果。

最佳答案

以下是转换在概念上的工作方式:

  1. 系统将fromView的父 View 的当前状态渲染到离屏缓冲区(“之前”状态)
  2. 从其父 View 中删除了 fromView
  3. toView 被添加到 parentView(可以是 nil,你是对的;在这种情况下什么都不添加)
  4. 系统将父 View 渲染到屏幕外缓冲区(“之后”状态)
  5. 系统动画化父 View 从“之前”状态到“之后”状态的转换

在你的例子中,父 View 是 ScrollView ,所以整个 ScrollView 都被转换了。与您的看法相反,即使使用交叉叠化也是如此。只是大多数 ScrollView (未被 fromView 覆盖的部分)在前后是相同的,因此看起来好像该部分不参与过渡 - 但它确实参与了。

如果我理解正确的话,您在 ScrollView 中水平排列了多个 ImageView 堆栈,每当有人双击堆栈中“最上面”的 ImageView 时,您想要“显示”其正下方的图像,在不影响其他堆栈的情况下。

如果您为每个堆栈的 ScrollView 添加一个与堆栈大小相同的容器 View ,并将此堆栈的所有 ImageView 放入此容器 View 中,而不是直接放入 ScrollView 中,它将起作用。点击时,只需像最初那样从点击 View 过渡到 nil。过渡在屏幕上的大小将限于容器 View (大致 - curl 和翻转使用超出其框架的一些空间)。

根据您的要求,您可能希望在删除堆栈中的最后一个图像后删除堆栈的容器 View 。

关于ios - 转换从 View : and strange behavior with flip.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11847743/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com