-1
- (void)viewDidLoad
{
[super viewDidLoad];

objectiveLabel.text = objectstring;
objectiveLabel.lineBreakMode = UILineBreakModeWordWrap;
objectiveLabel.numberOfLines = 0;
[objectiveLabel sizeToFit];

vocabularyLabel.text = vocabularystring;
vocabularyLabel.lineBreakMode = UILineBreakModeWordWrap;
vocabularyLabel.numberOfLines = 0;
[vocabularyLabel sizeToFit];   


}

有人可以指出我如何让​​标签 1 推动或移动标签 2 而不是重叠的正确方向吗?

4

2 回答 2

1

如果你想“推动或移动”一个 UILabel,你只需相应地设置框架。所以看objectiveLabel.frame,加上objectiveLabel.frame.origin.x加号objectiveLabel.frame.size.width,这是你应该设置的最小值vocabularyLabel.frame.origin.x。如果您vocabularyLabel不仅要调整objectiveLabel帧宽度的宽度,而且实际上要根据在objectstring中的渲染方式进行调整objectiveLabel,您可以通过以下方式计算objectiveLabel's 宽度的大小:

CGSize size1 = [objectstring sizeWithFont:objectiveLabel.font 
                        constrainedToSize:objectiveLabel.frame.size
                            lineBreakMode:objectiveLabel.contentMode];

CGRect frame2 = vocabularyLabel.frame;
frame2.origin.x = objectiveLabel.origin.x + size1.width;
vocabularyLabel.frame = frame2;

不过,这不会考虑minimumFontSize标签的因素。但是,如果minimumFontSize它的大小与字体大小相同,那么您应该是金色的。

于 2012-07-24T03:25:16.627 回答
0

你想要什么叫做Auto Layout.

于 2012-07-24T01:19:38.250 回答