Difference between Installed & Hidden properties of WKInterfaceLabel - watchkit

Does anybody know what is the difference between Installed & Hidden properties of WKInterfaceLabel ?
Both of them show/hide the label .

For WatchKit apps, all interface elements required in an app scene have to be created in the storyboard in Xcode and installed with the app... they cannot be added programatically at runtime. The hidden attribute sets whether an element is hidden or visible at launch. This can be subsequently changed programatically, and so toggling the hidden attribute is used in a manner akin to adding or removing items from a view in iOS.
The installed attribute sets whether an interface element is installed at all in the Watch App when it is copied to the Watch. If an item is not installed, it cannot be used.
A principal way in which you might use this installed attribute is to have different interface elements on different sizes of Apple Watch. By clicking the + to the left of the Installed checkbox in Xcode, you have the option to set different values of this attribute for different Apple Watch sizes.
Having selected a Watch size, you can then set different values for that watch size compared to the default size:
These changes can also be made by selecting the Apple Watch size at the bottom of the interface builder window, and making the changes directly on the storyboard. These are simply two paths to make exactly the same changes, rather than actual different alternative solutions.
Note that Apple recommend that Watch app interfaces should as much as possible be the same across all Apple Watches, with interface elements varying only in size. It is possible to make these size changes for many interface elements using size constraints that set the size relative to the element's container. However, for buttons with images this is a method for installing buttons with images sized specifically for each watch.

Check WKInterfaceObject Class Reference
Installed: A checkbox indicating whether the item is installed for the
current device.

Related

How to automatically resize all widgets when Display DPI scale is changed?

On Windows, in the display settings I could change the size of the contents of the screen in %.
Now, if the display settings were updated BEFORE launching the GUI, the GUI would look fine.
However, if the display settings were updated WHILE the GUI is open, then all fonts would increase (as expected) in size but the widgets such as push buttons and others would stay the same size (unlike in the previous scenario).
So after some research and thinking, it might make sense to use:
QScreen::logicalDotsPerInchChanged signal to signal that display settings were changed.
Upon receiving this signal, the whole ui window should update all of its widgets to match this new scale % factor.
Btw, this question was asked and solved before in the Qt Forum; however, without showing some implementation as in : here
So my question resides in how can this be implemented:
For number 1: where do I place this signal connection and how can I react to it
For number 2: what is a good way to resize or update widgets without doing so one by one, but rather at the ui window level.

Use Autolayout Not Checked, Still get constraint errors

I do not use autolayout. My app is incredibly dynamic, in that users can drag fields onto a canvas to create forms. Therefore, I have developed my own routines to render my xibs on any device in either portrait or landscape. To do this, I make sure the Use Autolayout is not checked for the xib's view in the file inspector. In fact none of the boxes are checked (trait variations, safe area, etc). However, I continue to get constraint errors. Is this just a bug. My code works perfectly but it is quite annoying to get the plethora of warnings in the output window. This just started in the last release or two. I am using XCode 9.2 with a deployment target of iOS 11.

Standart window title buttons style - Close and Minimize

I need to make buttons that look like standard window title buttons with their icons (close/minimize) in the current operating system (win / osx / linux). Is there a possibility in qml?
You take screenshots (or google for images) of those buttons in their different states (enabled, pressed, highlighted, normal e.t.c), than you style your Buttons to show the right image at the right time.
Which set you need to choose, depends on the OS, which you can query with
Qt.platform.os
Depending on the usecase, it might be worth to investigate the possibility to use real Windows, if you are planning on building some kind of subwindows. Might prove complicated, though.

Photoshop tvOS LSR extension gives error

We're trying to create a tvOS application icon for our new tvOS application. We've downloaded the necessary extensions and the example .psd. We've tried to generate a preview using the plugin but it keeps saying it's missing a background layer.
I've added the layer, named it background, and locked it, but the same error keeps popping up.
I haven't used the photoshop plugin, but what it probably means is that at least one layer has to be the right size (e.g. 400x240) and has to be opaque.
Also, for what it is worth, you don't need to create a separate layered image unless the layers are of a different size. You can just drag the individual layers directly into the assets.

Force system cursor usage in Flex

Let's say that you're using some black box library (i.e. no source code) that sets your cursor to something when rolling over a certain sprite. You can override that by catching rollOver and rollOut events, blocking propagation and using the CursorManager.
Question: is there a way to tell the CursorManager to use the system cursor?
Obviously, I could feed the CursorManager some "system like" cursor, but this would look weird if the local settings are different from that icon, which is likely to be always.
thank you!
f
You can create your own version of CursorManager - just create file mx/managers/CursorManager.as, copy it's content from default manager (use Ctrl+Shift+T to navigate to it) and change the code.
If you use RSLs then you need to create monkey-patch and load it BEFORE RSLs.
if you embed SDK into code then you can simply compile the app and class will be replaced.

Resources