UILinebreakmode不适用于xcode中的UILabel?

时间:2012-12-02 08:52:58

标签: iphone xcode uilabel

我有一个UILabel,其中有许多行。行数取决于运行时。 但我的UILineBreakmode无法正常工作..

这是代码:

-(void)viewDidLoad
{
NSString *temp=@"";

    for(int i=0;i<[arr2 count];i++)
    {


        temp=[temp stringByAppendingString:[[array objectAtIndex:i]objectForKey:@"Specilities"]];
        temp=[temp stringByAppendingString:@","];
    } 
    temp = [temp substringToIndex:[temp length]-1];
CGSize constraint8 = CGSizeMake(190, 2000.0f);
CGSize size8=[temp sizeWithFont:[UIFont fontWithName:@"Helvetica" size:14] constrainedToSize:constraint8 lineBreakMode:UILineBreakModeWordWrap];
specialities =[[UILabel alloc]init];
[specialities setFrame:CGRectMake(124,270,190, size8.height)];
specialities.textAlignment=UITextAlignmentLeft;
specialities.backgroundColor=[UIColor clearColor];
specialities.font=[UIFont fontWithName:@"Helvetica" size:14];
specialities.text=[NSString stringWithFormat:@"%@ ",temp ];
specialities.numberOfLines=0;
[specialities sizeToFit];
[self.view addSubview:specialities];   
}

Expected result:

Family Dentistry,Dentist-
Child,Dentist-Family,
Orthodontist 

The result which Im getting:

Family Dentistry,Dentist-
Child,Dentist-Family,Orthodo
ntist  

我怎样才能得到它?

1 个答案:

答案 0 :(得分:2)

尝试尝试使用UILabel的lineBreakMode属性。 例如,在您的标签上试试这个:

specialities.lineBreakMode=NSLineBreakByWordWrapping;

可能的选择是: (有关详情,请参阅Apple docs

enum {
   NSLineBreakByWordWrapping = 0,
   NSLineBreakByCharWrapping,
   NSLineBreakByClipping,
   NSLineBreakByTruncatingHead,
   NSLineBreakByTruncatingTail,
   NSLineBreakByTruncatingMiddle
};
typedef NSUInteger NSLineBreakMode

尝试尝试各种设置。

相关问题