Antonio Giarrusso
Antonio Giarrusso

Reputation: 820

Fit width in iOS 8 Today Extensions

When I make any iOS 8 Today Extension, there is an empty space on the left of approximately 48px, even if in Interface Builder I place a label on the left side at x=0.


on xcode on the simulator


I have seen that some apps, however, use a full-width widget.


other apps


How can I achieve something similar?

Thanks!


UPDATE: SOLVED

I put here the sample code because I guess it will be useful to someone. As suggested by @matteo-lallone, the correct way to do this is:

-(UIEdgeInsets)widgetMarginInsetsForProposedMarginInsets:(UIEdgeInsets)defaultMa‌​rginInsets{
return UIEdgeInsetsZero;
}

Upvotes: 30

Views: 5271

Answers (2)

Matteo Lallone
Matteo Lallone

Reputation: 511

Straight from the docs:

A Today widget created using the Xcode Today template includes Auto Layout constraints for standard margin insets. To get the inset values for your calculations, implement the widgetMarginInsetsForProposedMarginInsets: method.

Source: App Extension Programming Guide - Today

Upvotes: 38

JZAU
JZAU

Reputation: 3567

I can supplement the swift version

func widgetMarginInsetsForProposedMarginInsets(defaultMarginInsets: UIEdgeInsets) -> UIEdgeInsets {
    return UIEdgeInsetsZero
}

for oc

-(UIEdgeInsets)widgetMarginInsetsForProposedMarginInsets:(UIEdgeInsets)defaultMarginInsets {
    return UIEdgeInsetsZero
}

hope it can help someone.

Upvotes: 23

Related Questions