2012-11-21 101 views
0

朋友, 我创建了一个带边框的UILabel(就像下图所示)。标签边界内的间距

我想在离开一行/两行后再开始我的标签,然后在标签的最后一行再次下一行/两行之后开始标签。

有没有办法让标签的边界内部有空格?

This is the UILabel with border

UILabel *cmntBoxlbl = [[UILabel alloc]initWithFrame:CGRectMake(58, 23, 250, 60)]; 
    cmntBoxlbl.font=[UIFont fontWithName:@"Arial" size:12]; 
    cmntBoxlbl.layer.borderColor = [UIColor darkGrayColor].CGColor; 
    cmntBoxlbl.layer.borderWidth = 1.0; 
     NSString *text = [NSString stringWithFormat:@"%@%@%@",@" ",[[self.DtlArray objectAtIndex:indexPath.row] objectForKey:@"comment"],@" "]; 
     cmntBoxlbl.text = text; 

     cmntBoxlbl.textAlignment = UITextAlignmentCenter; 
     cmntBoxlbl.lineBreakMode = UILineBreakModeWordWrap; 
     [cmntBoxlbl setTextColor:[UIColor darkGrayColor]]; 

     CGSize expectedLabelSize = [text sizeWithFont:cmntBoxlbl.font 
          constrainedToSize:cmntBoxlbl.frame.size 
           lineBreakMode:UILineBreakModeWordWrap]; 

     CGRect newFrame = cmntBoxlbl.frame; 
     newFrame.size.height = expectedLabelSize.height; 
     cmntBoxlbl.frame = newFrame; 
     cmntBoxlbl.numberOfLines = 0; 
     [cmntBoxlbl sizeToFit]; 
     [cell addSubview:cmntBoxlbl]; 

回答

2

使当前标签(commentLabel)颜色为白色。创建另一个具有相同内容和较小尺寸的标签,将其放置在边界内。使用填充作为您的愿望

0
Have you tried this- 

     NSString *text = [NSString stringWithFormat:@"\n\n%@%@%@\n\n",@" ",[[self.DtlArray objectAtIndex:indexPath.row] objectForKey:@"comment"],@" "]; 
+0

感谢rahul ...它为第一行空间工作 但是在文本之后,这不起作用 我意思是在最后一行之后没有空间低于 –

+0

我试过了,它适用于我。结果只有一行是空白的。尝试在下面提供更多空行,例如: NSString * text = [NSString stringWithFormat:@“\ n \ n \ n”,@“”,[[self.DtlArray objectAtIndex: indexPath.row] objectForKey:@“comment”],@“”]; –

0

您可以创建自定义视图和

- (void)drawRect:(CGRect)rect { 
     ......; 
     [string drawInRect:rect withFont:font lineBreakMode:mode alignment:ali]; 
     ......; 
} 

希望帮助