【发布时间】:2010-12-14 20:26:32
【问题描述】:
我在一个 XIB 文件中有两个 UILabel,一个在另一个之上,其内容是从网络上的 JSON 源文件加载的。
鉴于我不确定标签将占用的行数以及高度,我应该如何最好地将它们相对于彼此定位。
我知道在一些 Java GUI 框架中,可以使用各种容器元素,而在 HTML 中,这种布局流程将是默认设置,但我找不到任何似乎可以解决问题的方法。
我可以在 Interface Builder 中执行此操作,还是必须以编程方式执行此操作?
感谢您的帮助..
编辑:
我现在有了答案,尽管它可能并不完美。我有两个标签,titleLabel 上面 descLabel。这就是我实现它的方式:
titleLabel.text = [data objectForKey:@"title"];
descLabel.text = [data objectForKey:@"description"];
CGSize s;
s.width = descLabel.frame.size.width;
s.height = 10000;
titleLabel.frame = CGRectMake(titleLabel.frame.origin.x,
titleLabel.frame.origin.y,
titleLabel.frame.size.width,
[[data objectForKey:@"title"] sizeWithFont:titleLabel.font constrainedToSize: s lineBreakMode:titleLabel.lineBreakMode].height
);
descLabel.frame = CGRectMake(descLabel.frame.origin.x,
titleLabel.frame.origin.y + [[data objectForKey:@"title"] sizeWithFont:titleLabel.font constrainedToSize: s lineBreakMode:titleLabel.lineBreakMode].height + 10,
descLabel.frame.size.width,
[[data objectForKey:@"description"] sizeWithFont:descLabel.font constrainedToSize: s lineBreakMode:descLabel.lineBreakMode].height
);
呸呸呸
【问题讨论】:
标签: xcode ios interface-builder