web-dev-qa-db-ja.com

iOS 8 TodayExtensionsの幅に合わせる

IOS 8 Today Extensionを作成すると、InterfaceBuilderの左側のx = 0にラベルを配置しても、約48pxの左側に空きスペースがあります。


on xcodeon the simulator


ただし、一部のアプリは全幅ウィジェットを使用していることを確認しました。


other apps


どうすれば似たようなことを達成できますか?

ありがとう!


更新:解決済み

サンプルコードは誰かに役立つと思うので、ここに置きます。 @ matteo-lalloneによって提案されているように、これを行う正しい方法は次のとおりです。

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

ドキュメントから直接:

Xcode Todayテンプレートを使用して作成されたTodayウィジェットには、標準のマージンインセットの自動レイアウト制約が含まれています。計算のインセット値を取得するには、widgetMarginInsetsForProposedMarginInsets:メソッドを実装します。

出典: アプリ拡張プログラミングガイド-今日

38
Matteo Lallone

Swiftバージョンを補足できます

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

oc用

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

それが誰かを助けることができることを願っています。

23
JZAU