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