当前位置: 首页 > 知识库问答 >
问题:

kCATransitionPush应用于从UIImageview滑入/滑出图像,无褪色/透明效果

周鸿云
2023-03-14

我在屏幕上的某个位置有一个UIImageView:

self.imageView = [[UIImageView alloc] init];
self.imageView.clipsToBounds = YES;
self.imageView.image = [UIImage imageNamed:@"food"];
[self.imageView setFrame:CGRectMake(0, 0 , (self.view.frame.size.width/5), 60)];

然后,我必须在UIImageView中插入另一个图像,我使用了以下代码:

self.imageView.image = NULL;
CATransition *animation = [CATransition animation];
        [animation setDuration:0.75];
        [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]];
        [animation setType:kCATransitionPush];
        [animation setSubtype:kCATransitionFromLeft];
        animation.delegate = self;
        [[self.imageView layer] addAnimation:animation forKey:nil];

但当第一张图像滑出时,它会淡出(或者在imageView的边缘看起来是透明的)。我尝试了尽可能多的在线解决方案,比如在动画过程中设置图层属性以消除淡入度,或者将图层不透明度指定为1.0,但它们似乎都不起作用。任何帮助都将不胜感激。谢谢

共有1个答案

王杰
2023-03-14

您可以使用另一个图像视图和UIView动画尝试不同的方法:

UIImage *newImage = [UIImage imageNamed:@"newImage"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:newImage];
imageView.frame = self.imageView.frame;
[self.view addSubview:imageView];

imageView.transform = CGAffineTransformMakeTranslation(-imageView.frame.size.width, 0);
[UIView animateWithDuration:0.75 delay:0 options:UIViewAnimationOptionCurveLinear animations:^()
{
    imageView.transform = CGAffineTransformIdentity;
}
                 completion:^(BOOL finished)
{
    self.imageView.image = newImage;
    [imageView removeFromSuperview];
}];
 类似资料:
  • 问题内容: 我们中的某些人可能不希望使用现成的插件,因为它们的尺寸很大,并且可能与当前的javascript产生冲突。 我以前使用过轻型滑块插件,但是当客户进行模块化修改时,就变得很难操作。然后,我的目标是建立易于定制的地雷。我认为滑块从一开始就不应该那么复杂。 什么是构建jQuery图像滑块的简单干净的方法? 问题答案: 在检查示例之前,您应该了解我最常用的两个jQuery函数。 index()

  • 问题内容: .crossfade > div { 我想像背景网站www.flitways.com那样使背景图像淡入淡出。 我曾尝试复制此图像,但是图像无法正常消失。我只是觉得那里缺少东西。将不胜感激对此的任何帮助。谢谢。 问题答案: 为了使图像正确地淡入和淡出,需要计算百分比和时间,以使其看起来不错,如下所述,或者只是给每个图像一个自己的规则。 对于“ n”幅图像,您必须定义: a =一幅图像的演

  • 实现效果 页面中的文章有几张配图,随着页面上下滚动,图片位置划过图片一半时,图片从两侧滑入;图片位置离开可见区域时,图片向两侧滑出。 (图片太大,可点击外链查看,或查看在线效果。) 下图中蓝色方框位置即是图片所占位置,初始文档中已经写好了内容及样式,需要完成控制图片显示部分的代码来实现图片滑动的效果。 知识点 涉及控制图片的 CSS 属性: translateX 来控制左右移动 scale 来控制

  • 下面的代码是针对我的single.php的。php if(have_posts())调用标准wordpress功能图像,函数_exists('dfi_get_featured_images')部分获取以nivo滑块样式包装的滑块图像。 php if(have_posts())循环正在破坏脚本。我试图将其包含在if-else语句中,以仅在帖子if($featuredImages!=NULL)中没有幻

  • 我试图从眼动跟踪结果创建一个热图(显示用户在屏幕上最频繁查看的位置)。 对于用户经常查看的像素,我想设置不透明的红色,对于不太频繁的橙色,等等...我使用红色到绿色的色阶。但是对于频率最低的像素,我希望它们不仅显示绿色,而且是透明的。 问题是,当我尝试改变颜色时,例如使用它实际上并没有根据新旧颜色将像素作为平均值着色,它只是显示一些新的、看起来奇怪的颜色。 图像与alpha RGBA值设置为50:

  • 我有一个小问题,一个小jQuery脚本,我的幻灯片图像。该脚本本身工作得非常好,其目的是在图像之间滚动,实际上是“淡入淡出”,这是一部经典之作。 问题是,如果我想将它用于页面上的另一个块,那么它将不再正常工作。。问题当然出在id上,但无法解决。 这是脚本: 有什么想法吗?谢谢大家:)