私はWiFi設定ページと同様のものを作りたいと思います:テーブルセルをタップすると、セルの左側にチェックボックスを入れ、詳細を表示する権利があります。UITableViewCellの左側にチェックマークを入れてください
私の質問:カスタムUITableViewCellを構築せずにUITableViewCellの左側にチェックマークを入れる方法はありますか?
私はWiFi設定ページと同様のものを作りたいと思います:テーブルセルをタップすると、セルの左側にチェックボックスを入れ、詳細を表示する権利があります。UITableViewCellの左側にチェックマークを入れてください
私の質問:カスタムUITableViewCellを構築せずにUITableViewCellの左側にチェックマークを入れる方法はありますか?
答えはYESです!カスタムセルを作成したり、イメージビューを追加したりする必要はありません。チェックボックスをシミュレートするには、チェックボックス状態のユニコード記号をセルテキストに追加するだけです。
チェックボックスに使用しているユニコード記号は、チェックの場合は\u2705
、未チェックの場合は\u2B1C
(iOS 5では\U0001F533
とほぼ同じです)です。 iOSはいくつかのレンダリングを行いますunicode symbols as icons。 (UITableViewCellStyleValue1
で)のWi-Fi設定のページを模倣
@"\u2611", @"\u2B1C", @"\u2705", @"\u26AB", @"\u26AA", @"\u2714", @"\U0001F44D", @"\U0001F44E"
:ここ
は、他のいくつかのシンボルですcell.textLabel.text = @"\u2001 Wi-Fi 1";
cell.detailTextLabel.text = @"\U0001F512 \u268A";
cell.textLabel.text = @"\u2001 Wi-Fi 2";
cell.detailTextLabel.text = @"\U0001F512 \u268C";
cell.textLabel.text = @"\u2713 Wi-Fi 3";
cell.detailTextLabel.text = @"\U0001F513 \u2630";
私は最初の投稿を見ていますが、完全な答えがあり、残りは低い投票を受けています... –
ちなみに、Swiftでは、Unicode文字には中括弧を使用する必要があります。 u {2713} " –
選択の変更はどうですか?データソースはありますか?追加するために毎回データソースを読み込み、DEappendチェックマークを付ける必要がありますか? detailtextlabelは別の情報を表示するために使用しているため、私はdetailtextlabelを使用できません。 –
いいえ、カスタムセルを作成する必要があります。
カスタムセルがなければ可能です。 –
UITableViewCell reference and Table View Guideをご覧ください。 editingAccessoryType
プロパティを標準セルスタイルに設定して、UITableViewCellAccessoryCheckmark
に設定します。
カスタムビューを使用することもできます。 –
ドキュメントに応じて: UITableViewCellAccessoryCheckmark セルの右側にチェックマークが付いています。 質問が左側にあることを尋ねます – akshay1188
はもちろん、あなたは、例えば
UITableViewCellStyleDefault,
// Simple cell with text label and optional image view
//(behavior of UITableViewCell in iPhoneOS 2.x)
UITableViewCellStyle を使用:)ことを行うことができます...そしてその「オプションのイメージビュー」でカスタム「チェックマーク」の画像を置きます。
ここでそれを行う方法があります。 UIImageViewをセルの左端に配置します。開始時に空白になるようにイメージを設定しないでください。
そこで、このような何かを、あなたはカスタムセルとそののUITableViewCellのクラスをやっていると仮定すると:あなたは右にチェックマークをしたい場合は底がコメントアウト
import UIKit
class MyCustoTableViewCell: UITableViewCell {
@IBOutlet weak var commandOption: UILabel!
@IBOutlet weak var checkMarkImage: UIImageView!
// Sets a left side checkmark on a cell when selected
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
self.checkMarkImage.image = selected ? UIImage(named: "BlueCheck") : .None
self.commandOption.font = selected ? UIFont(name: "Avenir-Heavy", size: 22) : UIFont(name: "Avenir-Book", size: 22)
// more check mark on the right side
// self.accessoryType = selected ? .Checkmark : .None
}
}
注意です。 super.setSelecdtedメソッドは、ユーザーが表のセルをタップしたときに発生します。あなたはこれも実現していることを確認してください:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// do any changes needed here or leave blank if just adding check
}
}
最後に、あなたが2倍@とあなたの資産フォルダ内の3倍のチェックマークPNG画像資産@ていることを確認してください。この例では「BlueCheck」と呼ばれていますが、チェックマークアセットが呼び出されたときに使用します。
この方法では、ユーザーが新しい行を選択すると、現在のセルにチェックマークが表示されなくなります。
この場合、画像ビューの右側にあるテキストを強調して、選択した行であることをさらに表示します。スウィフトは
あなたは顔文字や特殊文字を表示したり、あなたの質問に対する答えは「いいえ」、である
✔️この✓をコピーすることができ、コマンド+ Ctrlキー+スペースキーを押すことができます。 – EmptyStack