從 iOS7 開始,UIImage 有了一個方法:-imageWithRenderingMode:
,參數是枚舉類型UIImageRenderingMode,它有3個值:
- UIImageRenderingModeAlwaysOriginal,這個模式要求系統按照圖片文件原來的樣子渲染圖片。
- UIImageRenderingModeAlwaysTemplate,這個模式會首先掃描圖片,然后從圖片中所有不透明的像素創建一個模板,這同時也會忽略圖片的所有顏色信息。最后會使用 UIView 子類的 tintColor 屬性來給圖片填充顏色。
- UIImageRenderingModeAutomatic,這是 UIImaga 實例的默認模式,由系統根據圖片的使用環境來決定如何渲染圖片。如果圖片是用在如UITabBar,UINavigationBar,UIToolbar 和 UISegmentedControl 等,圖片就使用 AlwaysTemplate 渲染模式,如果圖片用在其他的地方則會使用 AlwaysOriginal 渲染模式。