gpt4 book ai didi

objective-c - UIButton 自定义边框中的 Tintcolor

转载 作者:太空狗 更新时间:2023-10-30 03:51:11 26 4
gpt4 key购买 nike

我为圆形自定义边框创建了 UIButton 的子类:

- (void)drawRect:(CGRect)rect
{
[[self layer] setCornerRadius:CORNER_RADIUS];
[[self layer] setMasksToBounds:YES];
[[self layer] setBorderWidth:1];
[[self layer] setBorderColor:self.tintColor.CGColor];
[self.imageView setTintColor:self.tintColor];
}

问题是当弹出窗口出现时,自定义边框与其他带有 tintColor 的控件的行为不同:

enter image description here

enter image description here

我该如何处理?

非常感谢

最佳答案

实现tintColorDidChange在你的 UIButton 子类中。 iOS 将按钮的 tintColor 更改为灰色,但图层的 borderColor 仍然是旧的蓝色。您必须自己更改 borderColor,iOS 无法知道边框应该像您的色调一样着色。

- (void)tintColorDidChange {
[super tintColorDidChange];
[self setNeedsDisplay];
}

在您使用setNeedsDisplay 之后,系统将调用drawRect:,这应该会更新图层颜色。

你也可以使用它:

- (void)tintColorDidChange {
[super tintColorDidChange];
[[self layer] setBorderColor:self.tintColor.CGColor];
}

关于objective-c - UIButton 自定义边框中的 Tintcolor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21192506/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com