阻止两个UILabel相互重叠

时间:2012-07-24 00:15:34

标签: objective-c ios xcode

- (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而不是重叠吗?

2 个答案:

答案 0 :(得分:1)

如果你想“推或移”UILabel,你只需相应地设置框架。请查看objectiveLabel.frame,添加objectiveLabel.frame.origin.xobjectiveLabel.frame.size.width,这是您应该vocabularyLabel.frame.origin.x设置的最小值。如果您希望vocabularyLabel不仅调整objectiveLabel帧宽的宽度,而且实际根据objectstringobjectiveLabel的呈现方式进行调整,您需要计算objectiveLabel宽度的大小:

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的大小与字体大小相同,那么你应该是金色的。

答案 1 :(得分:0)

您想要的是Auto Layout

相关问题