我有一个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
我怎样才能得到它?
答案 0 :(得分:2)
尝试尝试使用UILabel的lineBreakMode属性。 例如,在您的标签上试试这个:
specialities.lineBreakMode=NSLineBreakByWordWrapping;
可能的选择是: (有关详情,请参阅Apple docs)
enum {
NSLineBreakByWordWrapping = 0,
NSLineBreakByCharWrapping,
NSLineBreakByClipping,
NSLineBreakByTruncatingHead,
NSLineBreakByTruncatingTail,
NSLineBreakByTruncatingMiddle
};
typedef NSUInteger NSLineBreakMode
尝试尝试各种设置。