2012-11-29 50 views
1

標籤(圖片底部)和文本字段(頂部)具有相同的屬性文本。但看看下劃線。文本字段中的只有一個像素高。這看起來很糟糕。有誰知道是什麼造成這種情況或如何防止它?來自NSAttributedString的UITextField下劃線只有1個像素高?

- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 
     UITextField* textField = [[UITextField alloc]initWithFrame:CGRectMake(100, 100, 600, 200)]; 
     NSMutableAttributedString* string = [[NSMutableAttributedString alloc]initWithString:@"The quick brown fox jumps"]; 
     NSNumber* underlineNumber = [NSNumber numberWithInteger:NSUnderlineStyleSingle]; 
     UIFont* font = [UIFont systemFontOfSize: 50]; 
     [string addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, string.length)]; 
     for (NSInteger i=0; i<20; i++) { 
      if (i%3==0) { 
       [string addAttribute:NSUnderlineStyleAttributeName value:underlineNumber range:NSMakeRange(i, 1)]; 
      } 
     } 
     textField.backgroundColor = [UIColor whiteColor]; 
     textField.attributedText = string; 
     [self addSubview:textField]; 
     UILabel* label = [[UILabel alloc]initWithFrame:CGRectMake(100, 400, 600, 200)]; 
     label.attributedText = string; 
     label.font = font; 
     label.backgroundColor = [UIColor whiteColor]; 
     [self addSubview:label]; 
    } 
    return self; 
} 

enter image description here

回答

4

標籤使用自定義的呈現樣式繪製下劃線是從一個通過的UITextField使用,它使用WebKit的渲染編輯和渲染核心的文本時,它的靜態時,不幸的是不同的。請提交bugreporter.apple.com的錯誤。謝謝!