簡單的Widget

Widget就是iPhone左滑展示出來的小窗口臀突,我理解為——自家app的又一個入口勉抓,哈哈。比如下圖中的天氣候学。

其實就覺得這個東西比較神奇好玩兒才打算試試的藕筋,但是其中吗蚌,卻遇到了很多的問題摩梧。接下里就系統(tǒng)的記錄一下详瑞,如何簡單的實現(xiàn)這個小的東西鄙币,和其中自己遇到的一些問題吧。源代碼點這里冯乘。

首先我是創(chuàng)建了一個新的工程目代,其次因為Widget是一個獨立的進程靴迫,所以我們要再創(chuàng)建一個target濒蒋,F(xiàn)ile —— New —— Target 然后選擇Today Extension.

創(chuàng)建好工程之后盐碱,就可以先進行代碼的編寫了。但是這里有幾個問題問題需要注意沪伙。

1瓮顽、如果在Extension中用到了需要配置路徑的第三方庫,需要切換到Extension中的Target中進行配置围橡。

2暖混、我是用cocoapod管理第三方工具的,所以這個時候翁授,進行第三方管理的時候拣播,需要區(qū)分是給那個target添加第三方庫。

3黔漂、當(dāng)代碼及庫都配置好之后诫尽,就需要進行代碼的運行了,這個時候為了將兩個進程聯(lián)系起來炬守,就需要添加組了。兩個進程一定要加到同一個組里面剂跟,并且减途,組要和BundleID一致。同時配置BundleID的時候曹洽,主進程是正常配置鳍置,但是Widget進程的BundleID的格式是BundleID.工程名稱。這點需要注意送淆。其實默認的格式是正確的税产,只要按著格式改成自己的BundleID就好,但是就怕遇到像我這種,看都不看直接改的辟拷。所以這里需要注意啊~~~

4撞羽、運行代碼之前還有一個配置需要修改。直接上圖衫冻,按照圖修改就好诀紊。一定要改這里,否則的話是加載不出來的隅俘。

需要配置的差不多就這些了邻奠,但是這些都是很重要的,很容易造成最后顯示的效果就是無法載入为居,這是最悲傷的了碌宴。接下來是關(guān)于Widget的一些基本信息的內(nèi)容吧。

1蒙畴、Widget有兩種模式唧喉,一種是展開狀態(tài),一種是隱藏狀態(tài)忍抽。通過代碼可控制八孝。

/*設(shè)置widget的展示模式:

NCWidgetDisplayModeExpanded 展開

NCWidgetDisplayModeCompact 隱藏

*/

self.extensionContext.widgetLargestAvailableDisplayMode = NCWidgetDisplayModeExpanded;

2、Widget的樣式是可以通過更改展開模式的協(xié)議方法來進行更改的鸠项。比如高度的修改干跛。

//隱藏展開模式改變是調(diào)用此方法

-(void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode withMaximumSize:(CGSize)maxSize

{

if(activeDisplayMode == NCWidgetDisplayModeCompact)

{

self.preferredContentSize = CGSizeMake([[UIScreen mainScreen] bounds].size.width, 110);

}

else

{

self.preferredContentSize = CGSizeMake([[UIScreen mainScreen] bounds].size.width, 210);

}

}

3、Widget的高度祟绊,一般來說最低是110楼入,也就是說,當(dāng)設(shè)置widget的高度時牧抽,低于110的均是110嘉熊。

4、設(shè)置好模式和高度之后扬舒,就可以正常的創(chuàng)建Widget的頁面了阐肤,但是頁面不要太過復(fù)雜,通過查看資料讲坎,Widget頁面能承載的最大內(nèi)存是11M孕惜。

5、設(shè)置頁面之后晨炕,如果與app主體有交互衫画,首先需要頁面點擊事件通過以下調(diào)起URL的方式來進行反饋。這個方法其實是跟app外部通過URL來調(diào)起app是一樣的道理瓮栗,所以同樣的也需要設(shè)置一個scheme URL削罩,這個過后還會有說明瞄勾。

6、頁面代碼完成之后弥激,相應(yīng)了进陡,為了能調(diào)起app需要在AppDelegate中配置相應(yīng)的代碼。

7秆撮、剛說過四濒,如果要調(diào)起app需要配置一下scheme URL,這里是要配置app主體的scheme URL职辨。配置規(guī)則則是與之前代碼中設(shè)置的URL的規(guī)則保持一致盗蟆。

都配置完成之后,運行代碼之后舒裤,應(yīng)該就可以了喳资。但是這個時候左滑會看不到自己的小窗口。其實是因為自己沒有加入而已腾供。只需要點擊那個編輯仆邓,然后加入自己的widget就可以啦!

最近做Widget差不多遇到的就這些問題了伴鳖,目前做的很簡單节值,只是頁面的展示,并沒有數(shù)據(jù)的交互和刷新之類的榜聂。就以后繼續(xù)補充吧搞疗。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市须肆,隨后出現(xiàn)的幾起案子匿乃,更是在濱河造成了極大的恐慌,老刑警劉巖豌汇,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件幢炸,死亡現(xiàn)場離奇詭異,居然都是意外死亡拒贱,警方通過查閱死者的電腦和手機宛徊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來柜思,“玉大人岩调,你說我怎么就攤上這事∩呐蹋” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵缰揪,是天一觀的道長陨享。 經(jīng)常有香客問我葱淳,道長,這世上最難降的妖魔是什么抛姑? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任赞厕,我火速辦了婚禮,結(jié)果婚禮上定硝,老公的妹妹穿的比我還像新娘皿桑。我一直安慰自己,他們只是感情好蔬啡,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布诲侮。 她就那樣靜靜地躺著,像睡著了一般箱蟆。 火紅的嫁衣襯著肌膚如雪沟绪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天空猜,我揣著相機與錄音绽慈,去河邊找鬼。 笑死辈毯,一個胖子當(dāng)著我的面吹牛坝疼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播谆沃,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼钝凶,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了管毙?” 一聲冷哼從身側(cè)響起腿椎,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎夭咬,沒想到半個月后啃炸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡卓舵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年南用,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掏湾。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡裹虫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出融击,到底是詐尸還是另有隱情筑公,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布尊浪,位于F島的核電站匣屡,受9級特大地震影響封救,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜捣作,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一誉结、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧券躁,春花似錦惩坑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至搪泳,卻和暖如春稀轨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背岸军。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工奋刽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人艰赞。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓佣谐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親方妖。 傳聞我的和親對象是個殘疾皇子狭魂,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)党觅,斷路器雌澄,智...
    卡卡羅2017閱讀 134,651評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,072評論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件杯瞻、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,093評論 4 62
  • 前兩天剛過了情人節(jié)镐牺,朋友圈先是一陣浪漫恩愛的圖片掃蕩全場,打得單身狗們好一個猝不及防魁莉,緊隨其后又是一番悲傷感慨撲面...
    時間的針腳閱讀 849評論 4 1
  • github地址(完整Demo下載) https://github.com/zhouxu88/BottomNavi...
    嘮嗑008閱讀 27,538評論 10 37