18

ストーリーボード内で定義されている IBOutlet 接続とともに、プロトタイプ セルをロードする方法はありますか?

アップデート

セル (その母体の UICollectionViewCell) を単体テストしたいので、UIViewController コンテキストの外にロードしたいと思います。

事実上、nib からカスタム ビューをロードするのと同じ方法で、そのファイルの所有者を指定し、その IBOutlet を設定します。

4

2 に答える 2

13

編集: 私の知る限り、作成した ViewController 以外の場所で Storyboard からプロトタイプ UITableViewCells を使用することはできません。

単体テストでこれをまだ試していませんが、カスタムUITableViewCellを別の nib に簡単に入れることができます。

ビューコントローラーで使用するには、セルをtableViewに登録する必要があります。

UINib *nib = [UINib nibWithNibName:@"ABCNameOfYourNibCell" bundle:nil];
[self.tableView registerNib:nib forCellReuseIdentifier:@"myCustomCell"];

次に、このようなセルを使用しますcellForRowAtIndexPath:

static NSString *CellIdentifier = @"myCustomCell";

ABCNameOfYourNibCell *cell = 
[tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

テスト目的のために、次のものを使用できるはずです。

ABCNameOfYourNibCell *testCell = 
[[ABCNameOfYourNibCell alloc] initWithStyle: UITableViewCellStyleDefault reuseIdentifier:nil];

再利用動作をテストする必要がある場合は、ここで reuseIdentifier を設定prepareForReuseし、セルを呼び出す必要があります。

于 2014-03-10T08:44:11.937 に答える
11

通常はUITableViewControllerまたは を作成しUITableViewます。UITableViewCellクラスも作成する必要があります。クラスを作成しUITableViewCellたら、UIStoryboard に移動し、セルを選択します。

ここに画像の説明を入力

次に、UITableViewCellクラスを次のように設定しIdentity Inspectorます。

ここに画像の説明を入力

に要素を追加して、UITableViewCellそれらをクラスに接続します

ここに画像の説明を入力

CellIdentifierの中にAttributes Inspector次を追加します。

ここに画像の説明を入力

メソッドがある場所UITableViewControllerやセルにアクセスして、このようにセルを呼び出す必要はありません ( の上部にあるクラスを忘れないでください:UIViewControllerUITableViewDelegate#importUITableViewCellViewController

- (UITableViewCell *)tableView:(UITableView *)tableView 
         cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"MyIdentifier";
    MyCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier 
                                                   forIndexPath:indexPath];

    [cell.label setText:[NSString stringWithFormat:@"My Cell at Row %ld", 
                         (long)indexPath.row]];      
    return cell;
}
于 2014-03-07T18:11:14.393 に答える