Today Extension/widget编程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_30657013/article/details/61195807

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;

}









猜你喜欢

转载自blog.csdn.net/sinat_30657013/article/details/61195807