动态创建和定位不同尺寸的UILabels
问题描述:
我正在创建动态UILabels,然后将它们添加到视图中。标签是垂直布局。像这样:动态创建和定位不同尺寸的UILabels
标签1
标签2
标签3
每个标记可以是不同的高度。所以为了适应高度我使用下面的代码。标签2使用标签1的位置和高度在视图上调整自己。
-(void) createAboutLabel
{
self.aboutLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.nameLabel.frame.origin.x, self.nameLabel.frame.origin.y + self.nameLabel.frame.size.height, self.view.frame.size.width - 10, 40)];
self.aboutLabel.text = self.selectedVegetableCategory.about;
self.aboutLabel.font = [Utility getFont:@"Sinhala Sangam MN" size:14];
// [self.aboutLabel sizeToFit];
[self.aboutLabel setNumberOfLines:0];
[self.aboutLabel setLineBreakMode:UILineBreakModeWordWrap];
[self.aboutLabel sizeToFit];
[self.scrollView addSubview:self.aboutLabel];
}
我想找到一个更好的方式来实现动态标签布局。
有什么建议吗?
答
通过使宽度&字体,高度可以检索 -
的NSString * theText = myLabel.text; CGFloat width = myLabel.frame.size.width; CGSize theSize = [theText sizeWithFont:myLabel.font constrainedToSize:CGSize(width,MAXFLOAT)lineBreakMode:UILineBreakModeWordWrap];
它将从该提取高度返回大小。 CGFloat myLabelHeight = theSize.height;
希望这应该有所帮助。
+0
这有助于!谢谢! – haifacarina 2014-09-23 18:58:02
我不明白你的问题是什么。你能澄清一下吗? – MadhavanRP 2011-12-24 18:47:09
我不知道你在问什么。 – Steve 2011-12-24 18:47:31
我已经更新了原来的问题! – azamsharp 2011-12-24 18:53:05