0

最大幅が 100 の UILabel が必要で、その後に UIImage を作成したいのですが、インターフェイス ビルダーでそれを行うにはどうすればよいですか? テキストが短い場合、ラベルは 100 未満ですが、UIImage はラベルのすぐ後ろにあることを望みます。

4

3 に答える 3

2

次のようなコードでそれを行うことができます:

最初にラベルとimageViewを初期化します

_label = [[UILabel alloc] initWithFrame:CGRectZero];
_imageView = [[UIImageView alloc] initWithFrame:CGRectMake(label.frame.origin.x + label.frame.size.width, label.frame.origin.y, 30, 30)];

次に、ラベルにテキストがある場合、ラベルのフレームの幅を計算できます

CGSize size = [_label.text sizeWithFont:[UIFont boldSystemFontOfSize:15]];
CGFloat width = size.width > 100 ? 100 : size.width;
CGFloat height = size.height;
_label.frame = CGRectMake(0, 0, width, height);
于 2012-10-19T07:00:24.600 に答える