Today Extensionwidget编程

    xiaoxiao2021-03-25  108

    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;

    }

    转载请注明原文地址: https://ju.6miu.com/read-20210.html

    最新回复(0)