0

左端にラベルがあり、次にユーザー名のボタンがあり、右側のボタンの後に彼のコメントがあるビューがあります。私がやりたいのは、UIButton のテキストが終了する場所に Label を配置することです。この場合、ユーザー名が長い場合でも短い場合でも、コメントはユーザー名ボタンとコメント ラベルの間に空白なしで開始されます。私は現在、このようにハードコーディングしています.UIButtionのテキストのサイズに応じてUILabelの動的な位置を達成するにはどうすればよいですか?,PfButtonはUIButtonのサブクラスですありがとう

PfButton *button = [PfButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:name forState:UIControlStateNormal];
[button setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];
[button setContentEdgeInsets:UIEdgeInsetsMake(0, 13, 0, 0)];
[button setObjectId:objId];
[button addTarget:self action:@selector(profilePhotoButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
[button setFrame:CGRectMake(30, -7, 130, 20)];
[[button titleLabel] setTextAlignment:NSTextAlignmentLeft];
[view addSubview:button];

UILabel *messageLabel = [[UILabel alloc] initWithFrame:CGRectMake(160, -7, 150, 20)];
[messageLabel setFont:[UIFont systemFontOfSize:15]];
[messageLabel setText:msg];
[messageLabel setTextAlignment:NSTextAlignmentLeft];
[view addSubview:messageLabel];
[messageLabel release];
4

2 に答える 2

0

を使用して動作するようにしました

[button sizeToFit];

正確なフレームが得られ、ボタンの x 位置と幅を考慮してラベルの位置が計算されました

于 2013-11-07T18:47:08.617 に答える