Watchkit WatchOS2-有没有办法水平滚动标签?

Watchkit WatchOS2-有没有办法水平滚动标签?,watchkit,wkinterfacelabel,Watchkit,Wkinterfacelabel,我想知道(希望)有没有一种方法可以水平滚动WKInterfaceLabel?不,这是不可能的。当标签比屏幕宽时,它就会被截断。将其置于水平WKInterfaceGroup中也无济于事 Apple Watch上唯一能远程表示水平滚动的东西就是有一个基于页面的界面。在那里,您可以在不同的WKInterfaceControllers之间水平滑动 如果文本对于WKInterfaceLabel来说太长,并且不希望有多行,则可以自动滚动文本: class InterfaceController: WKInt

我想知道(希望)有没有一种方法可以水平滚动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年代;-)

太棒了。谢谢(注意:我在90年代就已经老了)我会检查性能命中率。有OBjC等价物吗?谢谢你,我要一个。。。。当然,这只是一个解决办法。。。我不会寻找其他方法来做同样的事情。