我有自己的子类UIButton
。我在上面添加了UIImageView
,并添加了一个图像。我想用浅色把它画在图像上,但它不起作用。
到目前为止,我已经:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
self.backgroundColor = [UIColor clearColor];
self.clipsToBounds = YES;
self.circleView = [[UIView alloc]init];
self.circleView.backgroundColor = [UIColor whiteColor];
self.circleView.layer.borderColor = [[Color getGraySeparatorColor]CGColor];
self.circleView.layer.borderWidth = 1;
self.circleView.userInteractionEnabled = NO;
self.circleView.translatesAutoresizingMaskIntoConstraints = NO;
[self addSubview:self.circleView];
self.iconView = [[UIImageView alloc]init];
[self.iconView setContentMode:UIViewContentModeScaleAspectFit];
UIImage * image = [UIImage imageNamed:@"more"];
[image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
self.iconView.image = image;
self.iconView.translatesAutoresizingMaskIntoConstraints = NO;
[self.circleView addSubview:self.iconView];
...
和选择:
- (void) setSelected:(BOOL)selected
{
if (selected) {
[self.iconView setTintColor:[UIColor redColor]];
[self.circleView setTintColor:[UIColor redColor]];
}
else{
[self.iconView setTintColor:[UIColor blueColor]];
[self.circleView setTintColor:[UIColor blueColor]];
}
}
我做错了什么?(图像的颜色始终保持原来的颜色。)
(无法编辑@Zhaolong Zhong post)
在swift 3.0中,您可以执行以下操作:
let image = UIImage(named: "your_image_name")!.withRenderingMode(.alwaysTemplate)
yourImageView.image = image
yourImageView.tintColor = UIColor.blue
而不是这个代码:
[image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
你应该:
image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
在Swift 4.1中使用此选项
image = UIImage(named: "name")!.withRenderingMode(.alwaysTemplate)
描述 (Description) 当您减少颜色的比例时,它用于将颜色与白色混合。 它有以下参数 - color - 它代表一个颜色对象。 weight - 这是一个可选参数,通过提供颜色和白色之间的百分比平衡点来指定元素的权重。 例子 (Example) 以下示例演示了在LESS文件中使用色调操作 - <html> <head> <title>Tint</title>
虽然有几个问题的答案与我的相似,但似乎没有一个能解决我的困境。我有一个图像视图,我可以通过改变水平和垂直约束来移动它,并使用长按手势在屏幕上移动。如果这张图像没有移动一定的距离,我希望它能动画化回到原来的位置。我正在使用以下代码示例来尝试执行此操作: 和在其他地方定义为用户单击的位置 和定义为用户在超级视图中的位置 不用说,平移图像时,一切都正常。它会拖动,然后在手势结束时停止。问题是,如果用户没
UIImageView+Gravatar 是一款把 UIImageView 子集整合在一起,用来处理 gravatar 图像的简便快捷的工具。
UIImageView-AnimationCompletionBlock 是在 UIImageView 中添加一个完成块用来告诉用户 UIImageView 动画完成的时间。
UIImageView-PlayGIF 是 UIImageView 子类,用来显示 GIF。UIIMageView-PlayGIF 性能高,而且占用的内存很低。
UIImageView+Letters 是 UIImageView 类,可以使用一个占位图片进行初始化,可以自动生成一个随机的背景颜色,方便用户配置文件生成虚拟映像。