實(shí)現(xiàn)iOS-Widget的方法詳解
推薦 + 挑錯(cuò) + 收藏(0) + 用戶評(píng)論(0)
一、Widget總覽
Widget 是 iOS8 推出第一版,在iOS 10 進(jìn)行大幅度的優(yōu)化
Widget可以讓用戶更快地訪問到其感興趣的內(nèi)容,官方的說法是用來呈現(xiàn)功能比較簡(jiǎn)單的,交互性不強(qiáng)的東西,在不打擾或者中斷用戶使用當(dāng)前應(yīng)用的前提下完成自己的功能點(diǎn)。對(duì)于這個(gè)說法,國內(nèi)的開發(fā)者表示呵呵,因?yàn)閹缀跛械?Widget都綁定了對(duì)應(yīng)的點(diǎn)擊事件
二、Widget代碼實(shí)現(xiàn)
因?yàn)?Widget 屬于單獨(dú)的進(jìn)程,因此需要再新建一個(gè)target:File -》 New -》target
初次構(gòu)建 UI 時(shí),運(yùn)行 Widget 后會(huì)發(fā)現(xiàn),Widget左側(cè)距離屏幕左側(cè)始終有一段距離,導(dǎo)致效果不佳,可以通過下面的代理方法消除間距
// 取消widget默認(rèn)的inset,讓應(yīng)用靠左
- (UIEdgeInsets)widgetMarginInsetsForProposedMarginInsets:(UIEdgeInsets)defaultMarginInsets {
return UIEdgeInsetsZero;
}
Widget 的收起、展開 則是通過這個(gè)代理方法:
/**
NCWidgetDisplayModeCompact, // 收起模式
NCWidgetDisplayModeExpanded, // 展開模式
*/
- (void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode withMaximumSize:(CGSize)maxSize {
if(activeDisplayMode == NCWidgetDisplayModeCompact) {
// 尺寸只設(shè)置高度即可,因?yàn)閷挾仁枪潭ǖ?,設(shè)置了也不會(huì)有效果
self.preferredContentSize = CGSizeMake(0, 110);
} else {
self.preferredContentSize = CGSizeMake(0, 310);
}
}
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
下載地址
實(shí)現(xiàn)iOS-Widget的方法詳解下載
相關(guān)電子資料下載
- iOS17.1可能明天發(fā)布,iOS17.1主要修復(fù)哪些問題? 377
- 華為全新鴻蒙蓄勢(shì)待發(fā) 僅支持鴻蒙內(nèi)核和鴻蒙系統(tǒng)應(yīng)用 719
- 蘋果手機(jī)系統(tǒng)iOS 17遭用戶質(zhì)疑 731
- iPhone12輻射超標(biāo)?蘋果推送iOS 17.1解決此事 750
- 傳華為囤積零部件 目標(biāo)明年智能手機(jī)出貨7000萬部;消息稱 MiOS 僅限國內(nèi),小米 28208
- 蘋果推送iOS17.0.3,解決iPhone15Pro系列存在機(jī)身過熱 216
- Testin云測(cè)兼容和真機(jī)服務(wù)平臺(tái)中上線iPhone 15系列手機(jī) 208
- 利爾達(dá)推出搭載HooRiiOS的Matter模組 145
- 運(yùn)放參數(shù)解析:輸入偏置電流(Ibias)和失調(diào)電流(Ios) 128
- 昆侖太科發(fā)布支持國產(chǎn)飛騰騰銳D2000芯片的開源BIOS固件版本 448