web-dev-qa-db-ja.com

ストーリーボードではなくペン先のプロトタイプセル

再利用性を高めるために、ストーリーボードの外部にテーブルビューを作成したいと思います。

XcodeでNibを使用してUITableViewベースのViewControllerを作成すると、nibファイルでデフォルトのTableViewが取得されます。ただし、ストーリーボードのように、Interface Builderでプロトタイプセルを追加することはできません。

現在、ペン先にプロトタイプセルを追加することはできませんか、それとも何かが足りませんか。

助けてくれてありがとう。

56
Besi

iOS 5には、UITableViewに新しいメソッドが含まれています: registerNib:forCellReuseIdentifier:

使用するには、UITableViewCellをnibに入れます。ペン先の唯一のルートオブジェクトでなければなりません。

TableViewをロードした後、nibを登録できます。セル識別子を使用してdequeueReusableCellWithIdentifier:を呼び出すと、Storyboardプロトタイプセルを使用した場合と同様に、nibからnibをプルします。

91
Richard Venable

In Swift 4:

  1. UITableViewCellからサブクラスの新しいCocoaTouchクラスを作成します。
  2. 重要-チェックボックスを有効にします'XIBファイルも作成します' Swiftファイルと.xibファイルを作成します
  3. Storyboardのプロトタイプセルの場合と同様に、ラベルをXibに追加します
  4. ラベルアウトレットを新しいSwiftファイルに接続します
  5. 重要-登録 viewDidLoadのnibファイル

    yourTableview.register(UINib.init(nibName: "CustomCellTableViewCell", bundle: nil), forCellReuseIdentifier: "Cell")
    

    (または)

    yourTableview.register(UINib(nibName: "CustomCellTableViewCell", bundle: Bundle.main), forCellReuseIdentifier: "Cell")
    
  6. データソースとデリゲートを通常どおり実装し、cellForRowAtIndexPathのCustomCellに型キャストします。
5
Naishta