2013-08-05 35 views
0

我已经创建了一个自定义按钮类,用于我的xibs,基本上只是一个带有标签的阴影的按钮。但是,标签中的文本呈锯齿状(好像它不是反锯齿)。这里是我的代码的相关部分的类(这是一个非常小的类,从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; 
} 

我已经尝试解决该问题,我已经发现,当该标签的来源或按钮被设置在非整数值可能出现这种情况。但是,我检查了按钮和像素的绝对值,它们都设置为整数值。我一直无法弄清楚还有什么可能会出错,而且我找不到其他人有过同样的问题。

回答

1

通常当锯齿发生时,这是因为相同的视图被绘制多次。你确认这个视图是否只绘制一次?