iOS 開發之Widget的開發及使用(上),ioswidget
在iOS8發布以後,Apple官方發布了,有關第三方開發軟體可以整合進手機的通知中樞,對於我們這幫開發來說,無疑是一個很新鮮的玩意兒,都巴不得趕緊將自己的App加入Widget的功能擴充。
那麼關於widget的功能擴充需要做的步驟,我簡單的分享一下我個人的簡單過程。不對望斧正。我將會分為兩次分別概述widget的基本添加以及布局和資料共用部分。
首先,在自己的在xcode的功能表項目,為當前項目添加一個新的target。然後選擇Application Extension 類型選Today。
接下來你的項目裡面會多出來一個Target,名字就是你自己的命名,在這裡也會看到多出來的一個Target:多出一組檔案夾,內部會有TodayViewController的檔案,還有一個Storyboard。
點擊查看Storyboard,會出現一個介面:
這就是Apple為你產生的最初多widget擴充模版,你可以在這裡做出要顯示在通知中樞的要顯示的內容,至於操作步驟,根操作一半的xib是一樣的。先跑起來試試看效果Command+R 結果
好了,暫時性的目的是達到了,效果已經展示出來了。
那在build或者run的時候,選擇這兩個不一樣Target,會有什麼不一樣的東西呢?
選擇宿主程式的時候,根往常一樣,程式會立即跑到你的裝置上,你可以隨意的偵錯工具,debug呀等等。但是在選擇擴充的時候,run時,會出現這麼一個介面你可以在這裡選擇你的宿主程式,然後點擊run。這時候,你就可以對擴充程式進行debug了。否則,是無法調試擴充裡面的代碼的。
上面已經基本很詳細的介紹了widget的添加步驟,那麼這次,來說下關於widget的布局。由於是通知中樞的擴充程式,鑒於使用者體驗,所以建議布局的時候,要避免你所設計的View佔據過大的面積,適合就好。否則可能適得其反,讓使用者會對你的擴充感覺到厭惡。
widget通知中樞擴充,由於是在iOS8.0發布的時候,才對第三方App提供支援的,所以,在widget布局的時候,需要注意一些內容.再布局控制項的時候,如果不用AutoLayout去約束控制項相對位置的話,就只是簡單的擴充View 的大小,運行起來,View的大小還是不會變的,只有原始的一個尺寸。所以在布局的時候,在放大View之後,布局子控制項,要通過AutoLayout去約束控制項位置,就不會出現view內控制項無法正常顯示的問題。