iOS8からToday Extensionという機能が追加されました。
いわゆるウィジェットというものです。
iPhoneの画面上部から下に引っ張った時に出る「今日(Today)」タブにウィジェットを表示することが可能になりました。
自分も東北ずん子メモウィジェットを作るときに若干いじったので、改めてこちらのApple公式のページを参考に調べてみました。
アプリ作ってた当初はまだ英語の公式資料しか無かったのに、いつの間にか日本語訳されたものができていたので読みやすかったです。
##ウィジェットの最大サイズ
ウィジェットの最大のサイズは以下の画像の通りです。
機種によって画面のサイズは違いますが、画像の赤枠が最大サイズのようです。
画面一枚分のサイズですね。
##サイズとレイアウト
###preferredContentSize
ウィジェットで利用する画面サイズを指定するときに使います。
型はCGSizeなので使うときはこんな感じ
self.preferredContentSize = CGSizeMake(320, 568)
###widgetMarginInsetsForProposedMarginInsets(defaultMarginInsets: UIEdgeInsets) -> UIEdgeInsets
ウィジェット画面の上下左右に余白を作るメソッド。
使うときはこんな感じ
func widgetMarginInsetsForProposedMarginInsets(defaultMarginInsets: UIEdgeInsets) -> UIEdgeInsets {
let edgeInsets = UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)
return edgeInsets
}
このメソッドはTodayViewController(ウィジェットのUIViewController)に採用されているNCWidgetProvidingプロトコルのメソッドなので、メソッドをそのままTodayViewController内に書くことで使えます。