0

有没有办法UILabel像这样显示

  • xxxxxx
  • xxxxxx
  • xxxxxx

或者

  1. xxxxx
  2. xxxxx
  3. xxxxx
  4. xxxxx

我将在其中获取数据UILabel以及要动态显示的标签数量。

4

1 回答 1

1

根据 iAmbitious 的评论构建:

第一种情况:

NSArray *array = [NSArray arrayWithObjects:@"One",@"Two",@"Three", nil];    
NSMutableString *compoundString = [NSMutableString string];
NSString *bulletString = [NSString stringWithFormat:@"%C",0x2022];

for (NSString *str in array) {
    NSString *tempString = [NSString stringWithFormat:@"%@ %@\n",bulletString,str];
    [compoundString appendString:tempString];
}

self.textView.text=compoundString;

第二种情况:用以下for循环替换for循环-

for (NSString *str in array) {
        NSString *tempString = [NSString stringWithFormat:@"%d. %@\n",[array indexOfObject:str]+1,str];
        [compoundString appendString:tempString];
    }

上面使用了文本视图。如果要使用标签,请将行数属性设置为零并动态设置标签的高度,如下所示。你可以达到同样的效果:

CGSize lineSize = [@"DummyString" sizeWithFont:self.label.font] ;
CGFloat labelHeight = lineSize.height*array.count;
CGRect tempFrame = self.label.frame;
tempFrame.size.height=labelHeight;
self.label.frame=tempFrame;
于 2013-04-03T05:41:54.790 回答