Ich möchte in einem Scrollview zugeschrieben Textbeschriftung angezeigt werden soll. Ich benutze den folgenden Code das Etikett zeigt den Text in der Mitte und etwas zusätzlichen Leerraum wird oben und unten hinzugefügt.UILabel zeigt mehr Leerraum in oben und unten für Langtext
NSString *STR_titl_iten_des = @"Item Description";
NSString *STR_descrip_detail = @"Long text to be displayed";
self.lbl_item_descrip.numberOfLines = 0;
NSString *text2 = [NSString stringWithFormat:@"%@\n%@",STR_titl_iten_des,STR_descrip_detail];
if ([self.lbl_item_descrip respondsToSelector:@selector(setAttributedText:)]) {
NSDictionary *attribs = @{
NSForegroundColorAttributeName: self.lbl_item_descrip.textColor,
NSFontAttributeName: self.lbl_item_descrip.font
};
NSMutableAttributedString *attributedText =
[[NSMutableAttributedString alloc] initWithString:text2
attributes:attribs];
NSRange cmp = [text2 rangeOfString:STR_titl_iten_des];
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
[attributedText setAttributes:@{NSFontAttributeName:[UIFont fontWithName:@"HelveticaNeue-Bold" size:21.0]}
range:cmp];
}
else
{
[attributedText setAttributes:@{NSFontAttributeName:[UIFont fontWithName:@"HelveticaNeue-Bold" size:17.0]}
range:cmp];
}
self.lbl_item_descrip.attributedText = attributedText;
}
else
{
self.lbl_item_descrip.text = text;
}
[_lbl_item_descrip sizeToFit];
Die unten ist mein Ausgang
verwenden Sie automatische Layout? – Venkat
Nein Ich verwende kein automatisches Layout. Dies ist nur eine Detailseite, so dass keine Verwendung von Auto-Layout –
ich versucht, mit zwingenden UILabel auch ist es nicht –