iOS UIActivityViewController自定義分享配置

iOS 7

  1. Image background:

Image background should be transparent.

  1. image opaqueness

The "visible part" of the icon should be non transparent aka opaque. Note that any color informationwon't be preserved:

  1. image size

Because the image won't be scaled by the system if too small/big, you have to provide appropriately sized image. I found image size 120px x 120px to fit perfectly.

Note: this size also takes icon padding into account.


iOS 8

  1. Image background:

Image background should be white to match the system UIAction icons.

  1. image opaqueness

Same as in iOS 7, "visible" part of the icon should be non transparent aka opaque, however in iOS 8color information will be preserved.

  1. image size

I am using image with size 240px x 240px, but you can apply custom sized image because system will automatically scalle-to-fill image if too small/big.


Wrap up

That said, if you want to support both iOS 7 and iOS 8, you have to have 2 versions of custom UIActivity icon image.

For iOS 7 you should use 120px x 120px sized image with transparent backgroundNote: find the size that best suits your needs.

For iOS 8 you should use custom sized square image with white background and "visible" part of an arbitrary colour.

Code example

#define isAtLeastiOS8 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)


- (UIImage *)activityImage
{
    if (isAtLeastiOS8)
    {
        return [UIImage imageNamed:@"activity_icon_ios8"];
    }
    else
    {
        return [UIImage imageNamed:@"activity_icon"];
    }
}

Hope that helps!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章