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;

2 番目のケース: 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 に答える