0

UITableViewCell に表示する必要があるテキスト行があります。テキストは、データベースからの複数のセクションで構成されています。各セクションには異なる色があります。例えば:

Lorem ipsum dolar sit amet

各項目はデータベースから取得され、色が異なります。

5 つの UITextFields (それぞれに 1 つ) をセットアップしようとしています。

ここまでは順調ですね。

単語間の間隔が同じであることを確認するために、単一の文字列のように見せるにはどうすればよいですか。

4

3 に答える 3

1

これを行うことができます

  • フォーマットされた HTML テキストを含む UIWebView
  • [NSString sizeWithFont:] でテキストを測定し、ラベルの位置とサイズを変更することによる UILabel (パディングを考慮して UITextField も使用します)
  • Jason Barker が言及した NSMutableAttributedString
于 2013-07-26T22:28:27.510 に答える
1

テキストフィールドを設定したら、メソッドを使用できます

[yourTextField sizeToFit];

これにより、テキストフィールドが単語の長さを囲みます。

その後、これらのテキスト フィールドを順番に配置して、間に十分なスペースを空けて、通常の文のように見せることができます。

UITextFields を NSArray に (順番に) 配置します。

cellForRowatIndexPath デリゲート メソッドでは、

int x = 0; //or wherever you want the string to start from

for (UITextField *textField in arrTextFields)
{
    textField.frame = CGRectOffset(textField.bounds, x, 0);
    [cell addSubview:textField];
    x += textField.frame.size.width + 2; //Adjust the constant to set spacing
}
于 2013-07-26T23:11:29.937 に答える