在UIKit里,UIButton設置[[UIImage imageNamed:@"tool_clear"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplatel]
為圖片,只要修改button的tintColor
屬性就可以修改控件圖片渲染色。
在ASDK里要實現這個效果,需要這樣實現。
//清空渲染色設置(必須要)
[self.buttonNode
setImage:[[UIImage imageNamed:@"tool_noCoverage"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]
forState:UIControlStateNormal];
self.buttonNode.imageNode.imageModificationBlock = nil;
//設置新渲染色
[self.buttonNode
setImage:[[UIImage imageNamed:@"tool_noSource"]
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]
forState:UIControlStateNormal];
self.buttonNode.imageNode.imageModificationBlock =
ASImageNodeTintColorModificationBlock(
[UIColor colorWithRGB:0x66ccff]);
這里要實現修改渲染色必須要先做一次清空,不然在設置過一次渲染色后再設置是無效的。
挺麻煩的,但是暫時只找到這樣一種做法去實現這樣的一個效果。