iOS8新特性擴展(Extension)應用之一——Today擴展

iOS8新特性擴展(Extension)應用之一——Today擴展

1、理解擴展

一、簡介

        基於iOS系統的安全性考慮,其應用的數據存儲是經過沙盒模式進行的,要實現應用之間的數據共享十分困難,功能共享就更加棘手。在iOS8系統中,apple爲咱們提供了一個革命性的功能:擴展。咱們能夠經過擴展來使app間數據甚至功能進行共享。xcode

二、幾種擴展模式

(1)今日視圖擴展:today

        這個擴展也被叫作 widget。該擴展能夠將今日發生的簡短消息放到消息中心的「今日」視圖裏。這個功能相似於安卓系統中的小控件,只是安卓的能夠直接放在桌面上,更加自由。示例以下:安全

(2)分享功能擴展

        該擴展容許應用向在線服務上傳照片、連接或者其餘文件。在之前版本中,咱們若要實現分享功能,必須進行復雜的操做。app

(3)個性操做

        經過這個功能,能夠實現兩個APP中共享一些內容,例如編輯文字中的圖片,翻譯網頁中的文字。工具

(4)照片操做

        這個類型的擴展能夠容許咱們在ipone相機中拍攝的照片使用其餘圖片編輯軟件進行編輯。佈局

 

(5)文件分享

        該擴展可讓軟件將文件保存在各類雲存儲服務商。spa

(6)自定義鍵盤

        容許用戶使用第三方的鍵盤輸入法。翻譯

 

2、ToDay擴展的建立

        擴展是一個獨立的構成,和其有關的兩個概念是宿主APP和主機APP,宿主APP是擴展存放的地方,與擴展能夠實現資源共享,主機APP是擴展運行的程序,例如ToDay擴展有抽屜中的Today應用進行運行。要建立一個ToDay擴展,首先咱們須要建立一個宿主APP:code

新建一個工程:orm

選擇xcode工具欄中的File->new->target圖片

在Application Extension中有上面提到的6中擴展,咱們選擇Today。

這是咱們的項目中會多了一個擴展的文件夾:

這個文件夾中有一個ViewController,咱們能夠在裏面進行佈局,還有一個plist文件,但是配置擴展的一些屬性。

咱們建立一個按鈕:

 UIButton * btn = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 100, 30)];
    [btn setTitle:@"231" forState:UIControlStateNormal];
    [self.view addSubview:btn];

以後咱們運行這個擴展:

xcode會讓咱們選擇運行擴展的主機程序,由於這是一個today類型的擴展,咱們選擇Today:

運行後,在系統的通知抽屜中,就會出現咱們的這個擴展:

一樣,咱們能夠建立tableView,imageView以及其餘複雜的視圖效果,咱們也能夠編寫不少邏輯功能,跳轉APP等。

專一技術,熱愛生活,交流技術,也作朋友。

——琿少 QQ羣:203317592

相關文章
相關標籤/搜索