サイズを計算するラベルがあります。ラベルのテキストを設定し、ラベルのサイズを合わせてから、ラベルの端までUITextFieldをスライドさせます。ラベルのテキストにスペースが残っているとすばらしく見えます。このような
何か:そのような追加のコードを追加する必要があります非常に長いラベルのような特殊なケースでは:
UILabel *nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(0.0, 0.0, 550.0, 28.0)];
[nameLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:24.0]];
[nameLabel setText:@"Name: "];
[nameLabel sizeToFit];
[self addSubview:nameLabel];
[nameLabel release];
UITextField *nameTextField = [[UITextField alloc] initWithFrame:CGRectMake(nameLabel.frame.size.width + nameLabel.frame.origin.x, 0.0, 550.0 - nameLabel.frame.size.width, nameLabel.frame.size.height)];
編集は特殊なケースについてのコメントにお答えします。たとえば、sizeToFit
コールの後で幅を確認し、一定の幅を超える場合は、複数の行、小さいフォントなどでラベルを再構築します。残念ながら、特殊なケースを考慮する必要がある場合は、コーディング作業。
tnxこれは非常に役に立つと思われますが、ラベルテキストが非常に長く、テキストやテキストの入力にスペースを許すようにフォントや調整行を調整したい場合はどうしたらいいですか? – Spring
このラベルをnibでデザインし、コードで上書きすることはできますか? – Spring
はい、Interface Builderでインターフェイス要素を設定し、IBOutletsに接続する限り、setFrameやsizeToFitなどのコードでインターフェイス要素を調整できます。 –