ios target -- weight todayWeight 开发

新建一个项目 然后– File - New - targe 新建一个TodayExtension


我们把新建的 叫做子项目 原来的叫做主项目 子项目是一个单独的app group证书
在子项目和主项目中 分别代开 App Groups
这里写图片描述

LsNewTarget 为创建的weight的名称 然后在子项目中 按照同样的方法添加 AppGroup

这样weight就创建好了 提示一个 如果没有证书 会报错 但是可以在模拟机上面跑

关于weight和主app之间的传值

发送

//group.com.LsNewTarget.app 这个是 appGroup的名字
  NSUserDefaults* defaults = [[NSUserDefaults alloc]initWithSuiteName:@"group.com.LsNewTarget.app"];
    [defaults setObject:@"321321" forKey:@"DSL"];
    if ([defaults synchronize]) {
        NSLog(@"发送成功");
    }

接收

//group.com.LsNewTarget.app 这个是 appGroup的名字
    NSUserDefaults *defaults = [[NSUserDefaults alloc]initWithSuiteName:@"group.com.LsNewTarget.app"];
    [defaults objectForKey:@"DSL"];
    if ([defaults objectForKey:@"DSL"]) {
        _titleLabel.text = [defaults objectForKey:@"DSL"];
    } else {
        _titleLabel.text = @"没有取到值";
    }

关于weight的折叠

//右上角的折叠按钮
    if ([[UIDevice currentDevice].systemVersion integerValue]>=10) {
        self.extensionContext.widgetLargestAvailableDisplayMode = NCWidgetDisplayModeExpanded;
    }
//折叠的回调
- (void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode withMaximumSize:(CGSize)maxSize
{
    //    NCWidgetDisplayModeCompact, // Fixed height

    //    NCWidgetDisplayModeExpanded,
    NSUserDefaults*defaults = [[NSUserDefaults alloc]initWithSuiteName:@"group.LsNewTarget"];
    [defaults objectForKey:@"DSL"];
    if (activeDisplayMode == NCWidgetDisplayModeCompact ) {
        //高度最低为110
        self.preferredContentSize = CGSizeMake([UIScreen mainScreen].bounds.size.width ,110);
    } else {
        //因为机子型号不一样所以最大搞多可能不一样,这里设置最大
        self.preferredContentSize = CGSizeMake([UIScreen mainScreen].bounds.size.width ,MAXFLOAT);

    }
}

调整大小

- (UIEdgeInsets)widgetMarginInsetsForProposedMarginInsets:(UIEdgeInsets)defaultMarginInsets
{
    return UIEdgeInsetsMake(0, -20, 0, 0);
}

如果需要些输入框的话 需要presen 到一个新的界面就可以弹出键盘了


88

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值