我创建了一个自定义按钮类以在我的 xib 中使用,它基本上只是一个带有阴影的按钮,上面有一个标签。但是,标签中的文本看起来是锯齿状的(好像它没有被消除锯齿)。这是我的类相关部分的代码(它是一个从 UIButton 继承的非常小的类)。
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self internalInit];
}
return self;
}
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
[self internalInit];
}
return self;
}
- (void)internalInit {
self.backgroundColor = [UIColor colorWithRed:22/255.0 green:72/255.0 blue:143/255.0 alpha:1.0];
CGRect frame = self.frame;
frame.origin = CGPointMake(floorf(frame.origin.x), floorf(frame.origin.y));
//self.frame = CGRectIntegral(frame);
frame = self.titleLabel.frame;
frame.origin = CGPointMake(floorf(frame.origin.x), floorf(frame.origin.y));
//self.titleLabel.frame = CGRectIntegral(frame);
// Shadow
self.layer.shadowOffset = CGSizeMake(0, 1.5);
self.layer.shadowColor = [UIColor blackColor].CGColor;
self.layer.shadowOpacity = 0.3;
self.layer.shouldRasterize = YES;
self.layer.shadowPath = [[UIBezierPath bezierPathWithRect:self.bounds] CGPath];
// Corner
self.layer.cornerRadius = 5;
}
我已尝试对问题进行故障排除,发现当标签或按钮的原点设置为非整数值时可能会发生这种情况。但是,我检查了按钮和像素的绝对值,它们都设置为整数值。我一直无法弄清楚还有什么问题可能出现,我找不到任何其他有同样问题的人。