目前,我有一個字符串數組在我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的餘數。 –