可変サイズの UILabels を追加しようとしています。
ラベルには、ユーザーからのコメントが含まれています。ここで、ラベルの動的サイズ変更を実装しようとしましたが、それらをビューに追加しました (後でメイン ビューに追加します)。
これにより、ラベルが重なり合って表示されることはわかっていますが、それは問題ではありません。ラベルはまったく表示されません。
NSMutableDictionary *comments = [[NSMutableDictionary alloc] init];
[comments setObject:@"xxxxxxxxx" forKey:@"simon"];
[comments setObject:@"xxxxxxxxxxxxxxxx" forKey:@"pontus"];
[comments setObject:@"xxxxx" forKey:@"sudden"];
[comments setObject:@"xxxx" forKey:@"juan"];
[comments setObject:@"xxxxxxxxxxx" forKey:@"eric"];
DetailedViewController *detailedBurger= [[DetailedViewController alloc] initWithNibName:nil bundle:nil];
for(NSString *key in comments){
UILabel *label = [[UILabel alloc] init];
label.backgroundColor = [UIColor clearColor];
label.text = [comments objectForKey:key]; //etc...
[label setFont:[UIFont fontWithName:@"PatuaOne-Regular" size:12.0]];
CGSize maximumLabelSize = CGSizeMake(296,9999);
CGSize expectedLabelSize = [label.text sizeWithFont:label.font
constrainedToSize:maximumLabelSize
lineBreakMode:label.lineBreakMode];
//adjust the label the the new height.
CGRect newFrame = label.frame;
newFrame.size.height = expectedLabelSize.height;
newFrame.size.width = expectedLabelSize.width;
NSLog(@"expectedlabelsizeheight %f", newFrame.size.height);
label.frame = newFrame;
[label setNeedsDisplay];
[detailedBurger.commentField addSubview:label];
NSLog(@"%f, %f", label.center.x, label.center.y);
}
// Do any additional setup after loading the view from its nib.
self.backgroundView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]];
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.backgroundView.frame];
scrollView.contentSize = CGSizeMake(320, 900);
[scrollView addSubview:detailedBurger.view];
detailedBurger.view.center = CGPointMake(160, detailedBurger.view.frame.size.height/2);
[self.backgroundView addSubview:scrollView];
このコードは、フレームにハード値 (例: label.frame = CGRectMake(0,0,10,10)
) を明示的に設定すると機能しますが、動的なサイズ変更は機能しないようです。
コンソール出力:
2013-07-09 10:12:42.223 RateYourBurger[31439:c07] expectedlabelsizeheight 15.000000
2013-07-09 10:12:42.224 RateYourBurger[31439:c07] 10.000000, 20.000000
2013-07-09 10:12:42.224 RateYourBurger[31439:c07] expectedlabelsizeheight 15.000000
2013-07-09 10:12:42.224 RateYourBurger[31439:c07] 10.000000, 20.000000
2013-07-09 10:12:42.225 RateYourBurger[31439:c07] expectedlabelsizeheight 15.000000
2013-07-09 10:12:42.225 RateYourBurger[31439:c07] 10.000000, 20.000000
2013-07-09 10:12:42.226 RateYourBurger[31439:c07] expectedlabelsizeheight 15.000000
2013-07-09 10:12:42.226 RateYourBurger[31439:c07] 10.000000, 20.000000
2013-07-09 10:12:42.227 RateYourBurger[31439:c07] expectedlabelsizeheight 15.000000
2013-07-09 10:12:42.227 RateYourBurger[31439:c07] 10.000000, 20.000000