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

Dav*_*nte 3 watchkit wkinterfacelabel

我想知道(希望)有一种方法可以水平滚动WKInterfaceLabel吗?

joe*_*ern 6

不,这是不可能的.当标签比屏幕宽时,它会被截断.把它放在水平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)

    }
}
Run Code Online (Sandbox Code Playgroud)

虽然这对我来说感觉有点像90年代;-)