亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS10 widget實現3Dtouch 彈出菜單

2020-07-26 03:01:40
字體:
來源:轉載
供稿:網友

文章將依次從以下幾個問題著手,進行詳細說明:

1、如何為現有的工程添加widget;
2、如何繪制UI;
3、如何調起app;
4、如何與host app共享數據。

圖2 添加today的target

圖3 添加today之后的工程目錄

這是添加Today Extension之后的工程目錄。

到這里,為現有的工程添加Today Extension算是完成了,運行程序就可以看到類似圖1的簡單的效果了,很簡單哈。

繪制UI

圖4 刪除默認創建的MainInterface并修改Info.plist

這里,刪除默認創建的MainInterface.storyboard,并按圖4所示修改Info.plist文件。(當然,習慣使用storyboard的童鞋可以略過,直接操作storyboar

圖5 設置widget展示視圖的大小

首先,設置widget展示視圖的大小。關于widget的背景色,以及具體展示的內容大家按需繪制,這里暫且不表。

圖6 設置widget視圖距離左側邊界距離為0

運行程序后,會發現一個問題:繪制的內容與左側邊界有一定距離(約30px)。如何解決這個問題呢,如圖6所示,TodayViewController遵守的NCWidgetProviding協議給出了解決方案。

調起app

因為extension和containing app是兩個完獨立的進程,所以它們之間不能直接通信(不能像應用內部點擊按鈕,跳轉到指定頁面)。為了實現widget調起app,這里通過openURL的方式來啟動containing app。

- (void)openURLContainingAPP{ //通過extensionContext借助host app調起app [self.extensionContext openURL:[NSURL URLWithString:@"appextension://xxx"] completionHandler:^(BOOL success) { NSLog(@"open url result:%d",success); }];}

數據共享

圖7 添加App Groups

通過App Groups提供的同一group內app共同讀寫區域,可以用NSUserDefaults和NSFileManager兩種方式實現extension和containing app之間的數據共享。

1 通過NSUserDefaults共享數據

保存數據

- (void)saveDataByNSUserDefaults{ NSUserDefaults *shared = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.xxx"]; [shared setObject:@"asdfasdf" forKey:@"widget"]; [shared synchronize];}

讀取數據

- (NSString *)readDataFromNSUserDefaults{ NSUserDefaults *shared = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.xxx"]; NSString *value = [shared valueForKey:@"widget"]; return value;}

2 通過NSFileManager共享數據

保存數據

- (BOOL)saveDataByNSFileManager{ NSError *err = nil; NSURL *containerURL = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group.com.xxx"]; containerURL = [containerURL URLByAppendingPathComponent:@"Library/Caches/widget"]; NSString *value = @"asdfasdfasf"; BOOL result = [value writeToURL:containerURL atomically:YES encoding:NSUTF8StringEncoding error:&err]; if (!result) { NSLog(@"%@",err); } else { NSLog(@"save value:%@ success.",value); } return result;}
讀取數據
- (NSString *)readDataByNSFileManager{ NSError *err = nil; NSURL *containerURL = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group.com.xxx"]; containerURL = [containerURL URLByAppendingPathComponent:@"Library/Caches/widget"]; NSString *value = [NSString stringWithContentsOfURL:containerURL encoding:NSUTF8StringEncoding error:&err]; return value;}

    到這里,在Today中添加應用的widget就完成了,從Today中可以瀏覽預設的快捷服務,在文章iOS 10 Today Widget中接著說iOS 10的適配問題。

以上所述是小編給大家介紹的 iOS10 widget實現3Dtouch 彈出菜單,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久亚洲影院你懂的| 91福利视频在线观看| 色偷偷91综合久久噜噜| 久久av在线播放| 欧美理论电影在线观看| 在线成人激情黄色| 91影院在线免费观看视频| 久久久精品电影| 51色欧美片视频在线观看| 中文字幕欧美亚洲| 欧美成人免费视频| 亚洲成色777777女色窝| 亚洲白虎美女被爆操| 欧美激情视频播放| 91国内精品久久| 日韩精品视频观看| 青青在线视频一区二区三区| 欧美激情区在线播放| 精品视频9999| 欧美理论电影在线播放| 日韩免费看的电影电视剧大全| 国产一区二区三区直播精品电影| 亚洲国产小视频在线观看| 国产精品美女网站| 成人午夜激情免费视频| 亚洲黄页视频免费观看| 欧美国产日韩xxxxx| 97视频在线观看免费高清完整版在线观看| 亚洲男人第一网站| 成人精品久久久| 国产精品专区h在线观看| 国产有码在线一区二区视频| 亚洲香蕉成视频在线观看| 国产精品96久久久久久又黄又硬| 欧洲亚洲妇女av| 欧美一级淫片videoshd| 亚洲国产私拍精品国模在线观看| 精品福利免费观看| 欧美老妇交乱视频| 久久久www成人免费精品张筱雨| 国产成人精品一区二区三区| 欧美精品videosex牲欧美| 国产亚洲激情视频在线| 日韩久久精品成人| 成人做爰www免费看视频网站| 精品中文字幕在线2019| 久久国产精品电影| 国产视频久久久久| 中文字幕日韩在线观看| 中文字幕日韩在线视频| 国产视频久久久久| 国产亚洲欧洲在线| 欧美裸体xxxx极品少妇软件| www.国产一区| 国产成人精品a视频一区www| 欧美另类69精品久久久久9999| 久久久在线观看| 欧美日韩视频免费播放| 姬川优奈aav一区二区| 欧美亚洲视频在线观看| 亚洲自拍偷拍网址| 久久69精品久久久久久国产越南| 亚洲精品一区在线观看香蕉| 欧美黑人xxxx| 国产精品视频地址| 日韩电影中文字幕| 久久久久久久久久久免费| 国产精品高潮呻吟久久av黑人| 久久在线免费视频| 国产精品一区二区久久久久| 欧美日韩国产在线看| 日本三级韩国三级久久| 综合av色偷偷网| 成人免费视频网址| 精品一区二区三区四区| 久久综合久中文字幕青草| 国产精品私拍pans大尺度在线| 亚洲成人av在线| 亚洲国产成人精品电影| 久久视频在线观看免费| 亚洲国产精品人人爽夜夜爽| 国产偷国产偷亚洲清高网站| 欧美国产亚洲视频| 久久久中精品2020中文| 国产精品亚洲欧美导航| 欧美激情xxxx性bbbb| 国产精品香蕉国产| 国产精品视频内| 亚洲精品在线不卡| 欧美性猛交xxxxx免费看| 亚洲精品一区在线观看香蕉| 色青青草原桃花久久综合| 91久久在线播放| 日韩久久免费视频| 亚洲精品一区二区三区婷婷月| 国产精品白嫩初高中害羞小美女| 美女性感视频久久久| 欧美大全免费观看电视剧大泉洋| 日韩成人网免费视频| 日韩中文在线中文网在线观看| 成人精品aaaa网站| 欧美另类精品xxxx孕妇| 国产成人在线一区| 亚洲欧美日韩在线一区| 国产在线精品成人一区二区三区| 欧美在线一级视频| 社区色欧美激情 | 福利微拍一区二区| 日韩av一卡二卡| 永久免费看mv网站入口亚洲| 性欧美视频videos6一9| 亚洲欧美日韩中文在线制服| 成人免费福利视频| 超在线视频97| 日韩成人av在线播放| 亚洲国产精品专区久久| 国产日韩欧美黄色| 欧美激情精品久久久久久久变态| 1769国产精品| 欧美最顶级的aⅴ艳星| 国产999精品| 亚洲午夜未满十八勿入免费观看全集| 日韩电影中文 亚洲精品乱码| 欧美视频在线视频| 在线成人激情视频| 国产精品久久久久久久av电影| 亚洲精品电影网站| 亚州av一区二区| 国产精品免费看久久久香蕉| 国产精品爽爽ⅴa在线观看| 日韩在线视频线视频免费网站| 久久久久久久国产精品视频| 国产精品18久久久久久麻辣| 日韩在线视频中文字幕| 啪一啪鲁一鲁2019在线视频| 久久久亚洲精品视频| 欧美一区二区视频97| 成人在线视频网| 一区二区三区四区在线观看视频| 亚洲黄色av网站| 日韩中文字幕亚洲| 性欧美长视频免费观看不卡| 日韩精品免费电影| 欧美性猛交xxxx富婆| 欧美激情va永久在线播放| 精品久久久久久久久久久久久| 中文字幕日韩欧美精品在线观看| 黑人巨大精品欧美一区免费视频| 亚洲精品电影网| 日韩av在线免费观看一区| 精品成人乱色一区二区| 亚洲最大福利网| 色琪琪综合男人的天堂aⅴ视频| 最近2019免费中文字幕视频三| 国产剧情久久久久久| 国内精品小视频| 久久亚洲精品国产亚洲老地址| 日韩欧美一区二区在线| 91国内揄拍国内精品对白| 伊人久久大香线蕉av一区二区| 日韩av手机在线| 亚洲缚视频在线观看| 国产日韩欧美影视| 中文字幕亚洲无线码a|