Gotschi Gotschi - 7 months ago 89
iOS Question

How to set the height of a Today Widget Extension?

How can i change the height of my App's Today Extension in the Notification Center?

I tried it with the Interface Builder and with Code,
the Interface Builder Displays the View with height 600, but it's not applying this height on the device.

It seems I can't get it bigger than some 80 pixels...

enter image description here


In your widget UIViewController.m (Objective-C):

self.preferredContentSize = CGSizeMake(0, 200);

Will make your widget have a height of 200.

Note that the width will have no affect on the view, as widgets must fit in the exact width of notification center, which is handled automagiclly.

Also, if you want to animate changes in the height of your view, you can implement (Objective-C):

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator

in your view controller using animateAlongsideTransition:completion:

The answer was a bit hidden; you had to click around in the documentation sidebar to eventually find this fantastic document.

Another way is to use auto-layout constraints to constrain your view's height.