我正在 iPhone 视图中处理标签,第一个是根据从远程 Web 服务获取的字符串内容自动调整大小的,尽管我UILabel
旁边还有另一个,但是当第一个标签文本变得很长时,它与最后一个标签重叠,如何我能避免吗...
问问题
1152 次
1 回答
1
如果您通过 interface-builder 创建了标签
创建两个UILabel IBOutlet 属性作为 lbl1 和 lbl2。然后将 IBOutlet 连接到界面生成器。然后在viewDidLoad中编写如下代码
[lbl1 setNumberOfLines:0];
lbl1.lineBreakMode = UILineBreakModeWordWrap;
[lbl1 sizeToFit];
lbl1.text = @"your text here";
lbl2.frame = CGRectMake(lbl1.frame.origin.x + lbl1.frame.size.width, lbl1.frame.origin.y + lbl1.frame.size.height, 100, 50)];
[lbl2 setNumberOfLines:0];
lbl2.lineBreakMode = UILineBreakModeWordWrap;
[lbl2 sizeToFit];
lbl2.text = @"your text here";
然后不要忘记再次编写/执行/调用代码 lbl2.frame = CGRectMake(lbl1.frame.origin.x + lbl1.frame.size.width, lbl1.frame.origin.y + lbl1.frame.size.高度, 100, 50)]; 同时将文本分配给 lbl1。
如果您通过代码创建标签
下面的代码对我有用
- (void)viewDidLoad {
//Adding first label
UILabel* lbl1 = [[UILabel alloc]initWithFrame:CGRectMake(0, 10, 100, 50)];
lbl1.text = @"vbdsbfdshfisdhfidshufidhsufhdsf dhdsfhdksbf hfsdh fksdfidsf sdfhsd fhdsf sdhfh sdifsdkf ksdhfkds fhdsf dsfkdsfkjdhsfkjdhskfjhsdk fdhsf vbdsbfdshfisdhfidshufidhsufhdsf dhdsfhdksbf hfsdh fksdfidsf sdfhsd fhdsf sdhfh sdifsdkf ksdhfkds fhdsf dsfkdsfkjdhsfkjdhskfjhsdk fdhsf";
[lbl1 setMinimumFontSize:8.0];
[lbl1 setNumberOfLines:0];
[lbl1 setFont:[UIFont systemFontOfSize:10.0]];
lbl1.lineBreakMode = UILineBreakModeWordWrap;
lbl1.backgroundColor = [UIColor redColor];
[lbl1 sizeToFit];
[self.view addSubview:lbl1];
//Adding second label
UILabel* lbl2 = [[UILabel alloc]initWithFrame:CGRectMake(lbl1.frame.origin.x + lbl1.frame.size.width, lbl1.frame.origin.y + lbl1.frame.size.height, 100, 50)];
lbl2.text = @"vbdsbfdshfisdhfidshufidhsufhdsf dhdsfhdksbf hfsdh fksdfidsf sdfhsd fhdsf sdhfh sdifsdkf ksdhfkds fhdsf dsfkdsfkjdhsfkjdhskfjhsdk fdhsf vbdsbfdshfisdhfidshufidhsufhdsf dhdsfhdksbf hfsdh fksdfidsf sdfhsd fhdsf sdhfh sdifsdkf ksdhfkds fhdsf dsfkdsfkjdhsfkjdhskfjhsdk fdhsf";
[lbl2 setMinimumFontSize:8.0];
[lbl2 setNumberOfLines:0];
[lbl2 setFont:[UIFont systemFontOfSize:10.0]];
lbl2.lineBreakMode = UILineBreakModeWordWrap;
lbl2.backgroundColor = [UIColor redColor];
[lbl2 sizeToFit];
[self.view addSubview:lbl2];
[lbl1 release];
[lbl2 release];
[super viewDidLoad];
}
于 2012-07-16T04:14:18.943 回答