自定义iWatch App点击Glance后的跳转页

最新版的在iWatch2.0中的点击Glance自定义的界面跳转

到今天为止(2015年11月20日)的官方给出的方法是:

当你的手表app上显示的快速信息浏览界面(Glance界面的时候),如果用户点击了这个界面,默认是跳转到手表app的主界面(也就是默认的InterfaceController界面的),但当你需要重新定义这个过程,希望可以跳转到你指定的界面的时候,按照下面的步骤:

在Glance控制器中:

  • 定义glance,在init和willActivate方法
  • 在Glance被点击的时候(在willActivate方法中),调用updateUserActivity:userInfo:webpageURL:方法,并通过userInfo参数指定传输的信息,在界面跳转的时候,app就会跳转到你指定的界面

例如:

- (void)willActivate {
    // This method is called when the controller is about to be visible to the wearer.
    NSLog(@"%@ will activate", self);

    // Use Handoff to route the wearer to the image detail controller when the Glance is tapped.
    [self updateUserActivity:@"com.example.apple-samplecode.WatchKit-Catalog" userInfo:@{@"controllerName": @"imageDetailController", @"detailInfo": @"This is some more detailed information to pass."} webpageURL:nil];
}

在主控制器(InterfaceController)

  • 实现handleUserActivity:方法,使用提供的userInfo字典定义UI。
    例如:
- (void)handleUserActivity:(NSDictionary *)userInfo {
    // Use data from the userInfo dictionary passed in to push to the appropriate controller with detailed info.
    [self pushControllerWithName:userInfo[@"controllerName"] context:userInfo[@"detailInfo"]];
}

好了,你再次运行试试看吧。

posted @ 2015-11-20 17:55  限量版爱  阅读(565)  评论(0编辑  收藏  举报