4

Is there any way to programmatically rotate the apple watch display 180 degrees? This would enable a person wearing an Apple Watch to orient the Apple Watch display for easier reading by a person standing opposite to the person wearing the watch.

I see this can be done via the phone using the Apple Watch App => General => Watch Orientation. There, the user can indicate which side the digital crown is situated (and that rotates the screen exactly as I'd need), But I want to code up a button directly on the watch UI that will do the same rotation trick right within my watch-app.

I've been looking at properties and methods on WKInterfaceController or WKInterfaceGroup to no avail.

Denis M. Kitchen
  • 1,142
  • 2
  • 14
  • 24
  • most definitely not, don't expect to be able to programmatically describe how anything related to the views or view hierarchy should look and/or act – TheCodingArt May 04 '15 at 00:29

4 Answers4

2

Although you cannot rotate the display, if you want to make text more legible to people on the other side of the device, you can try using upside down characters to make this easier.

This answer explains how this can be done: https://stackoverflow.com/a/2995356/2035473

However, if you want more than text to be rotated, you are out of luck. This is obviously not the most optimal solution, but is as close to what you are looking for as possible in the current API. This solution will not look great, either; the text looks strange using these unicode characters, but it is still something.

Community
  • 1
  • 1
erdekhayser
  • 6,537
  • 2
  • 37
  • 69
1

I have been sitting in the Watch Lab for almost three hours and I did talk to them about the Watch. Actually, there are so many limitations. Whatever you can do, they will specify it in the following documentation which it's relatively simple compared to other SDKs they released. So, I don't think you have the control on changing the orientation manually. Have fun making watch app.

https://developer.apple.com/library/ios/documentation/General/Conceptual/WatchKitProgrammingGuide/

Lucas Huang
  • 3,998
  • 3
  • 20
  • 29
1

Unfortunately, there is no method to programmatically rotate the Apple Watch display in the current version of WatchKit.

If you can limit the scenario to showing an image, you could render your UI in the Watch extension then send the rotated image to the Watch. However, there is also no way to determine the orientation of the Watch, so you'd have to add manual controls.

At the end of the day, I don't think there's any realistic or user-friendly way to accomplish this with the current version of WatchKit.

Mike Swanson
  • 3,337
  • 1
  • 17
  • 15
1

I gotchu bro

import WatchKit
import Foundation


class InterfaceController: WKInterfaceController {

    override func awake(withContext context: Any?) {
        // Configure interface objects here.
    }

    override func willActivate() {
        // This method is called when watch view controller is about to be visible to user
        super.willActivate()
        WKExtension.shared().isAutorotating = true
    }

    override func didDeactivate() {
        super.willDisappear()
        WKExtension.shared().isAutorotating = false
    }

}