Today Extension/widget编程

来源:互联网 发布:jsp 访问数据库 编辑:程序博客网 时间:2024/06/08 09:25

Today Extension是iOS8中引入的一个新特性,如果需要实时获取的信息,可以在通知中心的Today视图中创建一个Today扩展实现,Today扩展又称为Widget.本文基于XCode8进行介绍.

如果需要拓展程序与主程序直接进行信息交换,需要申请组ID(group id),也就是在申请App ID时将主程序Bundle ID 与 拓展程序 Bundle ID设置为组,如下图


然后在XCode中创建Today:



创建成功后目录结构如下:


然后在Target - Capabilities中将App Groups打开,并将对应ID加入


然后修改 Xib或者用代码构建Today即可,最后效果如下:


传值给主程序:

[self.extensionContext openURL:[NSURL URLWithString:@"Test://Test=open"] completionHandler:^(BOOL success) {

    }];


Test://后面跟的参数可以在Appdelegate

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

中通过url获取



注意点:

self.preferredContentSize =CGSizeMake(0,110); // 设置高度110


// 缩进  iOS10之后无效

- (UIEdgeInsets)widgetMarginInsetsForProposedMarginInsets:(UIEdgeInsets)defaultMarginInsets{

    return UIEdgeInsetsZero;

}









0 0