Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save VadimYakovliev/34bde25f88aeb33d140b4d1de47ed855 to your computer and use it in GitHub Desktop.

Select an option

Save VadimYakovliev/34bde25f88aeb33d140b4d1de47ed855 to your computer and use it in GitHub Desktop.

Revisions

  1. @timonus timonus revised this gist Jun 8, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion programmatic-dynamic-images.m
    Original file line number Diff line number Diff line change
    @@ -3,7 +3,7 @@ - (UIImage *)dynamicImage
    UITraitCollection *const baseTraitCollection = /* an existing trait collection */;
    UITraitCollection *const lightTraitCollection = [UITraitCollection traitCollectionWithTraitsFromCollections:@[baseTraitCollection, [UITraitCollection traitCollectionWithUserInterfaceStyle:UIUserInterfaceStyleLight]]];
    UITraitCollection *const purelyDarkTraitCollection = [UITraitCollection traitCollectionWithUserInterfaceStyle:UIUserInterfaceStyleDark];
    UITraitCollection *const darkTraitCollection = UITraitCollection *lightTraitCollection = [UITraitCollection traitCollectionWithTraitsFromCollections:@[baseTraitCollection, purelyDarkTraitCollection]];
    UITraitCollection *const darkTraitCollection = [UITraitCollection traitCollectionWithTraitsFromCollections:@[baseTraitCollection, purelyDarkTraitCollection]];

    __block UIImage *lightImage;
    [lightTraitCollection performAsCurrentTraitCollection:^{
  2. @timonus timonus revised this gist Jun 8, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion programmatic-dynamic-images.m
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    - (UIImage *)dynamicImage
    {
    UITraitCollection *const baseTraitCollection = /* an existing trait collection */;
    UITraitCollection *const lightTraitCollection = UITraitCollection *lightTraitCollection = [UITraitCollection traitCollectionWithTraitsFromCollections:@[baseTraitCollection, [UITraitCollection traitCollectionWithUserInterfaceStyle:UIUserInterfaceStyleLight]]];
    UITraitCollection *const lightTraitCollection = [UITraitCollection traitCollectionWithTraitsFromCollections:@[baseTraitCollection, [UITraitCollection traitCollectionWithUserInterfaceStyle:UIUserInterfaceStyleLight]]];
    UITraitCollection *const purelyDarkTraitCollection = [UITraitCollection traitCollectionWithUserInterfaceStyle:UIUserInterfaceStyleDark];
    UITraitCollection *const darkTraitCollection = UITraitCollection *lightTraitCollection = [UITraitCollection traitCollectionWithTraitsFromCollections:@[baseTraitCollection, purelyDarkTraitCollection]];

  3. @timonus timonus revised this gist Jun 8, 2019. 1 changed file with 5 additions and 3 deletions.
    8 changes: 5 additions & 3 deletions programmatic-dynamic-images.m
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,9 @@
    - (UIImage *)dynamicImage
    {
    UITraitCollection *const lightTraitCollection = [UITraitCollection traitCollectionWithUserInterfaceStyle:UIUserInterfaceStyleLight];
    UITraitCollection *const darkTraitCollection = [UITraitCollection traitCollectionWithUserInterfaceStyle:UIUserInterfaceStyleDark];
    UITraitCollection *const baseTraitCollection = /* an existing trait collection */;
    UITraitCollection *const lightTraitCollection = UITraitCollection *lightTraitCollection = [UITraitCollection traitCollectionWithTraitsFromCollections:@[baseTraitCollection, [UITraitCollection traitCollectionWithUserInterfaceStyle:UIUserInterfaceStyleLight]]];
    UITraitCollection *const purelyDarkTraitCollection = [UITraitCollection traitCollectionWithUserInterfaceStyle:UIUserInterfaceStyleDark];
    UITraitCollection *const darkTraitCollection = UITraitCollection *lightTraitCollection = [UITraitCollection traitCollectionWithTraitsFromCollections:@[baseTraitCollection, purelyDarkTraitCollection]];

    __block UIImage *lightImage;
    [lightTraitCollection performAsCurrentTraitCollection:^{
    @@ -11,7 +13,7 @@ - (UIImage *)dynamicImage
    [darkTraitCollection performAsCurrentTraitCollection:^{
    darkImage = /* draw image */;
    }];
    [lightImage.imageAsset registerImage:darkImage withTraitCollection:darkTraitCollection];
    [lightImage.imageAsset registerImage:darkImage withTraitCollection:purelyDarkTraitCollection];

    return lightImage;
    }
  4. @timonus timonus revised this gist Jun 8, 2019. No changes.
  5. @timonus timonus created this gist Jun 8, 2019.
    17 changes: 17 additions & 0 deletions programmatic-dynamic-images.m
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,17 @@
    - (UIImage *)dynamicImage
    {
    UITraitCollection *const lightTraitCollection = [UITraitCollection traitCollectionWithUserInterfaceStyle:UIUserInterfaceStyleLight];
    UITraitCollection *const darkTraitCollection = [UITraitCollection traitCollectionWithUserInterfaceStyle:UIUserInterfaceStyleDark];

    __block UIImage *lightImage;
    [lightTraitCollection performAsCurrentTraitCollection:^{
    lightImage = /* draw image */;
    }];
    __block UIImage *darkImage;
    [darkTraitCollection performAsCurrentTraitCollection:^{
    darkImage = /* draw image */;
    }];
    [lightImage.imageAsset registerImage:darkImage withTraitCollection:darkTraitCollection];

    return lightImage;
    }