Tobonaut
Tobonaut

Reputation: 2485

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!

Upvotes: 4

Views: 3580

Answers (3)

Ali
Ali

Reputation: 514


Just set the Radius Property and remember group should not be nested otherwise corners will not set to 0


Just set the Radius Property and remember group should not be nested otherwise radius will not apply

Upvotes: 0

Ashraf Tawfeeq
Ashraf Tawfeeq

Reputation: 3029

There is no direct way to do this. But I can think of a work around. The only interface object that can have a corner radius is WKInterfaceGroup. So, you can put a group inside a group and give both a corner radius. Set your image as the inner group background.

To have a border width & color, give your inner group a relative width and hight to the outer one. And give the outer a background of which you want your border color be.

Upvotes: 9

cnoon
cnoon

Reputation: 16643

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.

Upvotes: 15

Related Questions