2016-03-25 4 views
0

ich den folgenden Code verwendet habe, auszurichten Symbol meines UILabelWie UILabel Symbol mit Text in iOS

 UIImage *image3 = [UIImage imageNamed:@"icon_comments.png"]; 

     UIImage *myIcon3 = [self imageWithImage:image3 scaledToSize:CGSizeMake(20, 20)]; 
     NSTextAttachment *attachment3 = [[NSTextAttachment alloc] init]; 
     attachment3.image = myIcon3; 


     NSAttributedString *attachmentString3 = [NSAttributedString attributedStringWithAttachment:attachment3]; 
     NSString *temp3 = [NSString stringWithFormat: @"%d", test.noComments]; 
     NSAttributedString *titleString3 = [[NSAttributedString alloc] initWithString:temp3]; 

     NSMutableAttributedString *myString3 = [[NSMutableAttributedString alloc] initWithString:@""]; 
     [myString3 appendAttributedString:attachmentString3]; 
     [myString3 appendAttributedString:titleString3]; 


     cell.noComments.attributedText = myString3; 

das Problem nun hinzufügen, dass der Text nicht vertikal mit dem Symbol ausgerichtet ist, kann jemand mir sagen, was ist das Problem und wie kann ich es lösen

Antwort

1

Dies funktioniert in iOS> = 7.0 für einige _label

NSRange range = [myString3.string rangeOfString:titleString3.string]; 
CGFloat dy = (_label.frame.size.height - _label.font.pointSize)/2; 
[myString3 addAttribute:NSBaselineOffsetAttributeName value:[NSNumber numberWithFloat:dy] range:range]; 

_label.attributedText = myString3; 
+0

Vielen Dank –

0

Sie müssen die Grenzen Ihres Anhangs manuell zu kompensieren.

CGFloat offsetY = //However much you need to offset the image + is down - is up 
attachment3.bounds = CGRectMake(0, offsetY, myIcon3.size.width, myIcon3.size.height);