Fit width in iOS 8 Today Extensions

2019-01-21 16:34发布

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;
}

2条回答
女痞
2楼-- · 2019-01-21 17:13

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.

查看更多
一夜七次
3楼-- · 2019-01-21 17:13

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

查看更多
登录 后发表回答