gpt4 book ai didi

ios - 使用多个图像循环 UIImage 淡入淡出过渡

转载 作者:行者123 更新时间:2023-11-29 10:38:15 25 4
gpt4 key购买 nike

我有一个 viewController,其中 UIImageView 每 10 秒在不同图像之间转换一次。在我尝试添加两个以上的图像之前,这很有效。我不确定我在这里做错了什么,但我收到错误消息:“选择器‘imageNamed::’没有已知的类方法

这些是我的方法:

带计时器的 viewDidLoad:

- (void)viewDidLoad {
i = 0;
[NSTimer scheduledTimerWithTimeInterval:10.0 target:self
selector:@selector(swapImage) userInfo:nil repeats:YES];
}

这是处理两张图片的代码:

- (void)swapImage {

background.image = [UIImage imageNamed:(i % 2) ? @"authBg1.png" : @"authBg2.png"];

CATransition *transition = [CATransition animation];
transition.duration = 1.0f;
transition.timingFunction = [CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionFade;

[background.layer addAnimation:transition forKey:nil];

i++;
}

如果我更改第一行 background.image 以添加新图像,我会收到错误消息:

background.image = [UIImage imageNamed:(i % 3) ? @"authBg1.png" : @"authBg2.png" : 
@"authBg3.png"];

关于为什么这可能不起作用的任何想法?谢谢!

最佳答案

不幸的是,三元运算符只能支持 2 个条件。

如果您需要超过 2 个条件,请使用 if 语句。


如果/否则

if(i%2 == 0){

}elseif(i%3==0){

}else{

}

但是如果你真的想要三元,你可以嵌套它们,虽然它更难阅读

background.image = [UIImage imageNamed:(i % 2) ? @"authBg1.png" : (i % 3) ?@"authBg3.png" : @"authBg2.png"];

关于ios - 使用多个图像循环 UIImage 淡入淡出过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25839645/

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