目前,我有一个字符串数组在我swift
和我在一个循环中显示它们在UILabel
:如何在Swift中淡入淡出同一个UILabel上的不同文本?
let greetings = ["Test1", "Test2", "Test3", "Test4"]
override func viewDidLoad(){
super.viewDidLoad()
Timer.scheduledTimer(timeInterval: 2.0, target: self, selector: #selector(TutorialEntryPoint.update), userInfo: nil, repeats: true)
}
var i = 0
func update() {
if(i==4){
i=0
}
myLabel.text = greetings[i]
i += 1
}
这样的作品,但每个文本消失,突然显示 - 有没有修改它的一种方式让每个文字消失/顺利显示?我想过使用animateWithDuration
和修改alpha
,但我不知道如何正确地做到这一点。
代替检查'i',你也可以使用'greetings [i%greetings.count]'。 –
@HennyLee嗯,你究竟是什么意思?对不起,我只是快速学习:) – user3766930
通过使用'问候[i%greetings.count]'你可以增加'i'而不必担心会出现越界。在你的情况下,'100%greetings.count'与'0'相同。这是因为'%'是一个模。结果将是分割时的余数。例如,“5%3 = 2”意味着2是将5除以3的余数。 –