3

iOS7でストーリーボードを使用すると、コンテンツ ビューがストーリー ボード エディターのテーブル ビュー セルの下に明示的に表示されます(以前のバージョンではインターフェイスから非表示になっていました)。

問題は、セルのカスタム要素をカスタム セルの ib アウトレット ( のサブクラスUITableCellView) に接続できなくなり、それらをカスタマイズできないテーブルのコンテンツ ビュー ( UIView) にしか接続できないことです (つまり、そのカスタム クラス属性が灰色になっています)。

これにより、不便でエレガントではないタグを使用するオプションが残ります。

また、xib でカスタム ビューを作成し、すべての接続を行ってから、このカスタム ビューをテーブルのコンテンツ ビューとして手動で追加することもできますが、ストーリー ボード エディターを介してそれを行う方法を探しています。

iOS7 のストーリー ボード エディタで UI 要素をカスタム セルのコンテンツ ビューに接続する方法はありますか?

4

5 に答える 5

16

わかりました、Xcode のバグを見つけました。

以下を完了すると、問題が再現されます:
- ストーリーボードに新しい UIViewController を作成します
- UITableView を VC にドラッグします
- UITableview を更新して、1 つ (できるだけ多く) の動的プロトタイプ セルを作成します
問題: セルは追加されますが、contentView はありません。

解決策: ストーリーボード内のセルの量を更新するのではなく。カスタム セルを Xcode のオブジェクト部分からドラッグすると、セルに contentView が追加されます。

于 2013-10-10T17:02:20.333 に答える
5

私は次のことを行うことでこれを行うことができました:

  1. ドキュメント アウトラインのセルを選択します
  2. Identity Inspector でカスタム クラスを変更する
  3. 必要な要素をコンテンツ ビューに配置します
  4. Connections Inspector を使用して、コンテンツ ビュー内の要素に IBOutlets を接続します。
于 2013-10-10T21:15:54.840 に答える
1

答えはよくわかりませんが、この問題を回避することを提案できます。

1)既存のセルを他のテーブルビューから作業中のセルにコピーします。

2) セルの下に contentView が表示されます。ビューを追加して、このセルを設計します。

3) NewCell などのセルのクラスを作成し、このクラスで IBOutlet を手動で作成します。

@property (nonatomic, strong) IBOutlet UILabel* mainLabel;

4) ストーリーボードのセル クラスを、作成したばかりのクラスに割り当てます。この手順の後、アウトレットをストーリーボードからクラスにドラッグできます。

これが XCode 5 のバグなのか意図的なものなのかはわかりませんが、より良い解決策も探しています。

于 2013-10-10T08:45:22.143 に答える