我有四个标签。 我希望在X时间后消失label1和label2,并使label3和label4出现。
所以我使用matt's function delay,我有两个问题:
以下是我的代码的一部分:
func delay(delay:Double, closure:()->()) {
dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(delay * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(), closure)
// by matt on https://stackoverflow.com/questions/24034544/dispatch-after-gcd-in-swift/24318861#24318861
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// [...]
// After 4.2sec hide lbl 1/2, show lbl3/4, after 3.7sec hide lbl3/4, show lbl 1/2, etc.
delay(4.2) {
cell.label1!.hidden = true
cell.label2!.hidden = true
cell.label3!.hidden = false
cell.label4!.hidden = false
}
delay(7.9) {
cell.label3!.hidden = true
cell.label4!.hidden = true
cell.label1!.hidden = false
cell.label2!.hidden = false
}
delay(12.1) {
cell.label1!.hidden = true
cell.label2!.hidden = true
cell.label3!.hidden = false
cell.label4!.hidden = false
}
delay(15.8) {
cell.label3!.hidden = true
cell.label4!.hidden = true
cell.label1!.hidden = false
cell.label2!.hidden = false
}
// [...] Copy/paste and copy/paste since I can't create a loop
delay(56.6) {
cell.label1!.hidden = true
cell.label2!.hidden = true
cell.label3!.hidden = false
cell.label4!.hidden = false
}
delay(60.3) {
cell.label3!.hidden = true
cell.label4!.hidden = true
cell.label1!.hidden = false
cell.label2!.hidden = false
}
return cell!
}
此外,请看一下这段视频:https://youtu.be/aomYcqq7UX0 有些标签不会同时出现,有些标签会消失几秒钟:它非常迟钝。