iOS中NSString的分割显示问题(Label中)

来源:互联网 发布:淘宝沉香哪家比较好 编辑:程序博客网 时间:2024/06/05 15:04
在很多的应用当中,我们都会遇到对字段的解析问题,可能是解析我们请求中得到的字段,我们需要把它无损的展示出来,一般这些字段可能都是需要分割显示的。当然,这样的问题不是只会出现在解析网络请求的解析当中,有的是时候我们需要解析的本地数据库的时候也需要让字段进行相应的自适应,以方便大部分数据的展示。一般遇到这类的问题,我们首先需要解析出需要展示的数据,这些数据用Nsstring接受出来
    NSString *msg=@"你是那样拉风的男人 不管在什么地方 就好像漆黑中的萤火虫一样 是那样的鲜明,那样的出众 你那忧郁的眼神 唏嘘的胡渣子 神乎其技的刀法 还有那杯dry martine 都深深的迷住了我 ... 卖萌,装酷,杀马特,你们都弱爆了。每个成功的男(女)人背后 都有一张靓照";
 在这里还有一个常用到是问题,我们有时候需要多如上的字符串进行分割为数组,特别是类似歌词这样的

 NSArray *arr=[a componentsSeparatedByString:@" "];
arr就会成为一个接收了上面字符串以空格而分开的一段z字符串的集合。

下一步就是要确定我们要展示的字号算出这些字符串的长度。

for (int i=0; i<arr.count; i++)    {        NSString *str=[arr objectAtIndex:i];         UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(40, 80+30*i,str.length*10, 40)];        [self.view addSubview:label];        label.text=[arr objectAtIndex:i];        label.font=[UIFont systemFontOfSize:10];       }

以上是一种比较简单的分割展示问题,下面介绍另外一种系统提供的分割展示的方法。

  UILabel *Lable = [[UILabel alloc] init];    Lable.text = @"你是那样拉风的男人\n不管在什么地方\n就好像漆黑中的萤火虫一样\n是那样的鲜明,那样的出众\n你那忧郁的眼神\n唏嘘的胡渣子\n神乎其技的刀法\n还有那杯dry martine\n都深深的迷住了我\n...\n卖萌,装酷,杀马特,你们都弱爆了\n每个成功的男(女)人背后\n都有一张靓照\n";    [Lable setFont:[UIFont fontWithName:@"Helvetica-Bold" size:13]];    Lable.numberOfLines = 0;    Lable.lineBreakMode = NSLineBreakByWordWrapping;//NSLineBreakByWordWrapping系统提供的一种以空格分割的方法    CGSize size = [Lable sizeThatFits:CGSizeMake(Lable.frame.size.width, MAXFLOAT)];    Lable.frame =CGRectMake(self.view.frame.size.width-320, 170,size.width, size.height);    [self.view addSubview:Lable];

这是哟中使用起来比较简便的方法。

0 0
原创粉丝点击