专注动作的时间延迟
time delay on focus action
我有一个 Collection 视图并将其排列为在屏幕的一侧有一个单独的列,内容根据 collection 项进行替换是重点。
如果对某个项目的关注超过 0.5 秒,我希望能够换出内容。
这是我目前拥有的,它会立即换出数据。
if self.focused {
self.label.alpha = 1
self.priceLabel.alpha = 1
if self.representedDataItem?.imageUrl! == "https://s3-us-west-2.amazonaws.com/random/image.png" ||
self.representedDataItem?.imageUrl! == "" {
self.backgroundImage.image = UIImage(named: "titleImage")
}
else {
ImageCache.sharedLoader.imageForUrl((self.representedDataItem?.imageUrl!)!, completionHandler:{(image: UIImage?, url: String) in
self.backgroundImage.image = image!
})
}
}
else {
self.label.alpha = 0.2
self.priceLabel.alpha = 0.2
}
不知道self.focused
如何确定,假设你已经处理好了。因此,您可以使用 GCD
来延迟执行,同时集中注意力。
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(0.5 * Double(NSEC_PER_SEC))), dispatch_get_main_queue()) {
// code to be executed after 0.5 sec
}
if self.focused {
self.label.alpha = 1
self.priceLabel.alpha = 1
}
else {
self.label.alpha = 0.2
self.priceLabel.alpha = 0.2
}
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(0.5 * Double(NSEC_PER_SEC))), dispatch_get_main_queue()) {
// code to be executed after 0.5 sec
if self.focused {
if self.representedDataItem?.imageUrl! == "https://s3-us-west-2.amazonaws.com/random/image.png" ||
self.representedDataItem?.imageUrl! == "" {
self.backgroundImage.image = UIImage(named: "titleImage")
}
else {
ImageCache.sharedLoader.imageForUrl((self.representedDataItem?.imageUrl!)!, completionHandler:{(image: UIImage?, url: String) in
self.backgroundImage.image = image!
})
}
}
}
我有一个 Collection 视图并将其排列为在屏幕的一侧有一个单独的列,内容根据 collection 项进行替换是重点。
如果对某个项目的关注超过 0.5 秒,我希望能够换出内容。
这是我目前拥有的,它会立即换出数据。
if self.focused {
self.label.alpha = 1
self.priceLabel.alpha = 1
if self.representedDataItem?.imageUrl! == "https://s3-us-west-2.amazonaws.com/random/image.png" ||
self.representedDataItem?.imageUrl! == "" {
self.backgroundImage.image = UIImage(named: "titleImage")
}
else {
ImageCache.sharedLoader.imageForUrl((self.representedDataItem?.imageUrl!)!, completionHandler:{(image: UIImage?, url: String) in
self.backgroundImage.image = image!
})
}
}
else {
self.label.alpha = 0.2
self.priceLabel.alpha = 0.2
}
不知道self.focused
如何确定,假设你已经处理好了。因此,您可以使用 GCD
来延迟执行,同时集中注意力。
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(0.5 * Double(NSEC_PER_SEC))), dispatch_get_main_queue()) {
// code to be executed after 0.5 sec
}
if self.focused {
self.label.alpha = 1
self.priceLabel.alpha = 1
}
else {
self.label.alpha = 0.2
self.priceLabel.alpha = 0.2
}
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(0.5 * Double(NSEC_PER_SEC))), dispatch_get_main_queue()) {
// code to be executed after 0.5 sec
if self.focused {
if self.representedDataItem?.imageUrl! == "https://s3-us-west-2.amazonaws.com/random/image.png" ||
self.representedDataItem?.imageUrl! == "" {
self.backgroundImage.image = UIImage(named: "titleImage")
}
else {
ImageCache.sharedLoader.imageForUrl((self.representedDataItem?.imageUrl!)!, completionHandler:{(image: UIImage?, url: String) in
self.backgroundImage.image = image!
})
}
}
}