Search code examples
iosswiftwatchkitwkinterfaceimage

Set (border) radius of a WKInterfaceImage by code


I have to set the radius attribute of a WKInterfaceImage by Swift code.

I need the same formatting as for my others UIImageViews:

logoView.layer.cornerRadius = logoView.frame.width / 2
    logoView.clipsToBounds = true
    logoView.layer.borderWidth = 1.0
    logoView.layer.borderColor = UIColor (
                                    red: 0x33 / 255,
                                    green: 0x99 / 255,
                                    blue: 0x66 / 255,
                                    alpha: 1.0
                                ).CGColor

I checked the reference guide but I found no solution. Thanks for you help!


Solution

  • You don't have this type of functionality with a WKInterfaceImage. There are only a few public APIs.

    In order to round the corners of an interface element in WatchKit, you need to use a WKInterfaceGroup. It allows you to modify the radius of all the corners directly in the storyboard.

    WKInterfaceGroup Parameters in Storyboard

    If you need to create an outlined border around the group, then you'll need to create a custom UIImage and set it as the background image of the group.