WatchOS2 - 有没有办法水平滚动标签?
WatchOS2 - Is there any way to scroll a label horizontally?
我想知道(希望)有办法水平滚动 WKInterfaceLabel 吗?
不,那是不可能的。当标签比屏幕宽时,它就会被截断。将其水平放置 WKInterfaceGroup
也无济于事。
Apple Watch 上唯一可以远程表示水平滚动的功能是具有基于页面的界面。在那里你可以在不同的 WKInterfaceControllers
.
之间水平滑动
如果文本对于您的 WKInterfaceLabel
来说太长,并且您不想有多行,您可以自动滚动文本:
class InterfaceController: WKInterfaceController {
@IBOutlet var label: WKInterfaceLabel!
let fullText = "This is a long text that should scroll."
var scrolledText: String?
var timer: NSTimer?
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
scrolledText = fullText
timer = NSTimer.scheduledTimerWithTimeInterval(0.2, target: self, selector: Selector("timerDidFire:"), userInfo: nil, repeats: true)
label.setText(scrolledText)
}
override func didDeactivate() {
timer?.invalidate()
}
func timerDidFire(timer: NSTimer) {
if scrolledText!.characters.count > 1 {
scrolledText!.removeAtIndex(scrolledText!.startIndex)
} else {
scrolledText = fullText
}
label.setText(scrolledText)
}
}
虽然这对我来说有点太像 90 年代了 ;-)
我想知道(希望)有办法水平滚动 WKInterfaceLabel 吗?
不,那是不可能的。当标签比屏幕宽时,它就会被截断。将其水平放置 WKInterfaceGroup
也无济于事。
Apple Watch 上唯一可以远程表示水平滚动的功能是具有基于页面的界面。在那里你可以在不同的 WKInterfaceControllers
.
如果文本对于您的 WKInterfaceLabel
来说太长,并且您不想有多行,您可以自动滚动文本:
class InterfaceController: WKInterfaceController {
@IBOutlet var label: WKInterfaceLabel!
let fullText = "This is a long text that should scroll."
var scrolledText: String?
var timer: NSTimer?
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
scrolledText = fullText
timer = NSTimer.scheduledTimerWithTimeInterval(0.2, target: self, selector: Selector("timerDidFire:"), userInfo: nil, repeats: true)
label.setText(scrolledText)
}
override func didDeactivate() {
timer?.invalidate()
}
func timerDidFire(timer: NSTimer) {
if scrolledText!.characters.count > 1 {
scrolledText!.removeAtIndex(scrolledText!.startIndex)
} else {
scrolledText = fullText
}
label.setText(scrolledText)
}
}
虽然这对我来说有点太像 90 年代了 ;-)