0

コンプリケーションを作成するための出発点として、以下に示すコンプリケーション デリゲートのサンプル コードを実装することにより、静的データを次のように表示できます。

この構造は、1 つの複雑機構ファミリーごとに 1 つの複雑機構しか作成できないことを意味します。これは本当ですか?他に選択肢はありますか?

たとえば、以下のものに加えて、別のタイプの別のモジュール式の小さな複雑さを作成するにはどうすればよいでしょうか。CLKComplicationTemplateModularSmallStackImage 両方がモジュラー スモール リージョンに表示されるようにしますか?

これはおそらく管理可能なユーザー設定ですか?

#pragma mark - Placeholder Templates

- (void)getPlaceholderTemplateForComplication:(CLKComplication *)complication withHandler:(void(^)(CLKComplicationTemplate * __nullable complicationTemplate))handler {
// This method will be called once per supported complication, and the results will be cached


if  (complication.family == CLKComplicationFamilyModularSmall){

    CLKComplicationTemplateModularSmallStackText *template = [[CLKComplicationTemplateModularSmallStackText alloc] init];
    //     template.headerTextProvider = [CLKSimpleTextProvider textProviderWithText:@"Title Text"];
    template.line1TextProvider = [CLKSimpleTextProvider textProviderWithText:@"TEXT1"];
    template.line2TextProvider = [CLKSimpleTextProvider textProviderWithText:@"TEXT2"];
    template.tintColor = [UIColor whiteColor];

    handler(template);


} else if (complication.family == CLKComplicationFamilyModularLarge){


    CLKComplicationTemplateModularLargeStandardBody *template = [[CLKComplicationTemplateModularLargeStandardBody alloc] init];
    template.headerTextProvider = [CLKSimpleTextProvider textProviderWithText:@"Text1"];
    template.body1TextProvider = [CLKSimpleTextProvider textProviderWithText:@"Text2"];
    template.body2TextProvider = [CLKSimpleTextProvider textProviderWithText:@"Text3"];


    UIImage *surfMain = [UIImage imageNamed:@"person"];

    template.headerImageProvider = [CLKImageProvider imageProviderWithOnePieceImage:surfMain];



    handler(template);
}

}
4

1 に答える 1

4

現時点では、特定のファミリーに複数の選択肢を提供することはできません。そのファミリに提供されているものの中から最適なテンプレートを選択する必要があります。

特定の例では、7 つの異なるモジュール式の小さなテンプレートがあります。ユーザーに 2 つの選択肢を与えるように制限したとしても、コンプリケーションをサポートするすべてのアプリが、特定のファミリ内で提供する選択肢の数を 2 倍または 3 倍にした場合、うまくスケーリングできません。

  • UX の観点:

    これにより、ユーザーが選択したい別のアプリの複雑な設定に移動するためだけに、アプリごとのスクロールからアプリの複数の選択肢によるスクロールに移行する必要があるという混乱したユーザー エクスペリエンスが回避されます。

  • 開発者の視点:

    ユーザーがアプリの異なるモジュール式の小さな複雑な機能を同時に 2 つまたは 3 つ表示することを選択できる場合、複雑な機能のすべてのアクティブな複雑機能を最新の状態に保つために、複雑機能サーバーは特定のデータ ソースを複数回呼び出す必要があります。考慮すべき 1 日の予算があります。言うまでもなく、ファミリーをオンにしてから特定のテンプレートをオンにする必要がある場合、拡張機能の読み取りと維持が少し難しくなります。

Apple は、ファミリーごとに 1 つのコンプリケーションに制限することで、ユーザーと開発者の両方にとって良いデザインを選択したようです. 複数の機能をサポートする理由がある場合は、Apple Watch チームに機能リクエストを送信できます。

于 2016-01-30T18:53:55.537 に答える