0

私はiPhoneプログラミングに不慣れで、最初の実際のアプリケーション(つまり、本やオンラインで書かれていないアプリケーション)に取り組んでおり、さまざまな方法で解決できる小さな問題に遭遇しましたが、良いものがあるはずだと感じていますおそらく私が欠けている解決策。

シナリオは次のとおりです。UITableView標準のがたくさん含まUITableViewCellれています。私がやりたいのは、セルが選択され、その部分が機能しているときに緑色のチェックマークを切り替えることです(注:私はすでにaccessoryType他の目的でを使用しているので、チェックマークには使用できません...それほどきれいではありません)。残念ながら、次のようにチェックマークを切り替えると、次のようになります。

if (...) {
  cell.imageView.image = [UIImage imageNamed:@"checkmark.png"];
} else {
  cell.imageView.image = nil;
}

チェックされているかどうかに応じて、セルのラベルが前後にバウンスします。cell.textLabel.text画像が設定されているかどうかに関係なく、セルのテキスト(を介して設定)を整列させる適切な方法は何ですか?私が思いついた解決策は次のとおりです。

  1. Photoshopで空白の40x40png画像を作成し、オフに設定します
  2. コードのみで空白の40x40画像を作成する
  3. 私が知らないいくつかの設定を設定すると、それが私のために調整されます
  4. 必要なことを実行するUITableCellViewのサブクラスを作成します(これはばかげているでしょう、オプション1を使用します...)

提案?考え?コメント?どうもありがとうございます :-)

PS何か違いがあれば、このソリューションをOS3.0と4.0で動作させたいと思います。

4

1 に答える 1

1

オプション1は、標準セルを選択する方法です。

厳密に言えば、レイアウトをカスタマイズするためにUITableViewCellをサブクラス化する必要はありません。contentViewに任意のビューを追加できます。したがって、imageViewプロパティとtextLabelプロパティを使用する代わりに、UILabelとUIImageViewをcontentViewに追加できます。

于 2010-05-21T18:55:46.800 に答える