0

私は調査を行い、このプロセスに関する次のような多数のガイドに従いました。

  1. 「静的セル」UITableViewに不明な数の行を追加する
  2. https://devforums.apple.com/message/502990#502990

しかし、フォローアップの質問で繰り返されるテーマは、常に「TableViewCells が表示されますが、空です」です。人々は問題を解決すると思いますが、解決策は投稿されていません。

したがって、私がいる段階は次のとおりです。静的セルが表示され、データが正しく入力され、動的セルが正しく表示されますが、要素は表示されません (空です)。

すべてが正しく接続されていると思います。私は持っている:

  1. 私の UITableViewController サブクラスでは、上記の 2 つのリンクで「Answer」とマークされているように、必要なすべてのメソッドを含めてオーバーライドしました。
  2. UITableViewCell をサブクラス化し、サブクラスに 2 つの UILabel プロパティを含めました。
  3. Storyboard のセルのクラスをサブクラスに設定し、Controller サブクラスで正しく使用される適切な識別子を指定します。
  4. ストーリーボードのセルに 2 つの UILabels を配置しました。
  5. 2 つのラベルを Cell サブクラスのプロパティに接続しました。

上記の回答と同じように、インスタンス化してプロパティに値を割り当てます。

static NSString *CellIdentifier = @"DynamicCell";
    OwnersInfoEventsCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (!cell) {
        cell = [[OwnersInfoEventsCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    cell.eventName.text = @"Name"; //this doesn't show up
    cell.eventNeed.text = @"Need"; //this doesn't show up
    cell.backgroundColor = [UIColor redColor]; //this works, the cell shows up red
    return cell;

私は何が欠けていますか?

4

2 に答える 2

0

それは私に起こりました、そして問題はあなたがあなた自身のセルを作成するとき(あなたが再利用可能なものを見つけられない場合に備えて)その2つのラベルがnilであるということでした。したがって、2つのラベルを作成し、それらをセルのラベルとして設定する必要があります。これでうまくいくと思います。

于 2013-01-25T19:20:03.363 に答える
0

OwnersInfoEventsCellまず、正しく定義されていることを確認する必要があり ます。Cell Classで定義したLabelが正しく定義されていることを確認してください。そのラベルのフレームを確認してください。

 _ eventName = [[UILabel alloc]initWithFrame:CGRectMake(25, 2, 40 , 40)];
 _ eventName.backgroundColor = [UIColor clearColor];
 [_ eventName setBaselineAdjustment:UIBaselineAdjustmentAlignCenters];
 eventName.font = [UIFont fontWithName:@"King" size:12];
 [self.contentView addSubview:_ eventName ];

セルのコンテンツ ビューにラベルを追加したことを確認します。これは問題になる可能性があります。あなたのコードを見せてくださいOwnersInfoEventsCell。そうすれば、もっと簡単に提案できます。

これがお役に立てば幸いです。

于 2013-01-25T20:44:19.553 に答える