gpt4 book ai didi

Swift 3 Marquee 标签通知在重复之前或在原位

转载 作者:行者123 更新时间:2023-11-28 15:54:41 24 4
gpt4 key购买 nike

我在 Swift 3 中使用 Marquee 标签,它工作正常。唯一的问题是我遇到了以下问题:

我试图找出标签何时返回到原始位置。当文本返回主页时,它不在屏幕上,这是我想更新数据字符串的时候。

如果我尝试在滚动过程中更新字符串,它会自动停止并重置。 dataString 的长度也是可变的,所以我不能使用定时器或类似的东西。

我已经通读了这里的所有内容 Marquee Label

这是我用来设置和启动标签的代码:

feedLabel.text = dataString
feedLabel.type = .continuous
feedLabel.speed = .rate(70)
feedLabel.fadeLength = 80.0
feedLabel.leadingBuffer = 1300.0
feedLabel.trailingBuffer = 1300.0
feedLabel.labelWillBeginScroll()

我的数据字符串每隔几秒更新一次,但我只希望我的标签在它重复之前更新。

这让我的脑子炸开了一个洞。任何建议将不胜感激。

最佳答案

您可以从 MarqueeLabel 创建新的继承类并覆盖 labelReturnedToHome 函数:

class CustomMarqueLabel : MarqueeLabel {
open var returned : ((Bool)->Void)?
override func labelReturnedToHome(_ finished: Bool) {
super.labelReturnedToHome(finished)
if returned != nil {
returned!(finished)
}
}
}

然后像这样使用:

let lengthyLabel = CustomMarqueLabel(frame: CGRect(x: 20, y: 40, width: 200, height: 20), duration: 0.5, fadeLength: 10.0)
lengthyLabel.returned = {completed in
//label returned to begining
}

关于Swift 3 Marquee 标签通知在重复之前或在原位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41922759/

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