iOS TodayExtension

如何快速建立TodayExtension,讓你在開發(fā)過程中少走彎路

首先要了解什么是TodayExtension

擴(kuò)展(Extension)是iOS 8中引入的一個非常重要的新特性。擴(kuò)展讓app之間的數(shù)據(jù)交互成為可能。用戶可以在app中使用其他應(yīng)用提供的功能,而無需離開當(dāng)前的應(yīng)用。

iOS 8系統(tǒng)有6個支持?jǐn)U展的系統(tǒng)區(qū)域,分別是Today、Share、Action、Photo Editing、Storage Provider、Custom keyboard。支持?jǐn)U展的系統(tǒng)區(qū)域也被稱為擴(kuò)展點(diǎn)。對于賽事比分,股票、天氣、快遞這類需要實(shí)時(shí)獲取的信息,可以在通知中心的Today視圖中創(chuàng)建一個Today擴(kuò)展實(shí)現(xiàn)。Today擴(kuò)展又稱為Widget。本文主要是介紹Today Extension的用法。

這就是我寫的一個歷史上今天關(guān)于TodayExtension的部分,下面介紹如何創(chuàng)建TodayExtension

點(diǎn)擊File->New->選擇Target

點(diǎn)擊File->New->選擇Target
如果不想使用Storyboard,下邊會介紹

這就是創(chuàng)建好的TodayExtension,先運(yùn)行一下,如圖所示

選擇Target選擇前邊帶E那個標(biāo)志的然后Run
這就是創(chuàng)建好的TodayExtension

關(guān)于刪除Storyboard的配置方法,首先刪除Storyboard文件,并修改TodayExtension的Plist文件中關(guān)于NSExtension的值


首先刪除NSExtensionMainStoryboard


然后添加NSExtensionPrincipalClass 后邊的值就是你要顯示的Controller

開始寫代碼

在TodayViewController.m文件實(shí)現(xiàn)如下方法

然后運(yùn)行,查看效果

運(yùn)行結(jié)果

因?yàn)槟J(rèn)的inset就是這樣,如果不想這樣需要添加如下代碼

- (UIEdgeInsets)widgetMarginInsetsForProposedMarginInsets:(UIEdgeInsets)defaultMarginInsets{

return UIEdgeInsetsZero;

}


就這么簡單,去實(shí)現(xiàn)你的第一個TodayExtension吧

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 擴(kuò)展(Extension)是iOS 8中引入的一個非常重要的新特性。擴(kuò)展讓app之間的數(shù)據(jù)交互成為可能。用戶可以在...
    pony23閱讀 198評論 0 0
  • “古代的女子十五歲就要行‘及笄禮’:把頭發(fā)盤起來,并用簪子綰住,表示已成年待嫁。” 可我活在現(xiàn)代,所以今天十八歲生...
    文蘿卜閱讀 1,083評論 5 7
  • 我希望處理的一種感受是憤怒。 這個感受位于我的心口處。 是一個不規(guī)則的石頭。 黑色的,有時(shí)會放出紅紅的火焰。 拳頭...
    89a3a545b116閱讀 255評論 0 0
  • 1 分析對象 如果問題能夠在需求階段予以解決,后續(xù)的整個項(xiàng)目的進(jìn)度和質(zhì)量將會好很多。 1.1 需求分析的對象 產(chǎn)品...
    哈嘍龍閱讀 1,073評論 0 0