web-dev-qa-db-ja.com

クールな静的UIを作成したいが、「静的テーブルビューは有効な...」

だから私は次のようなビューを作成しています:

enter image description here

このために、ストーリーボードを使用して2つのTableView(両方とも「静的セル」)を追加し、ストーリーボードから直接セルコンテンツを手動で追加しようとしています...

私の絵コンテでは見栄えがいいのですが、ビルドすると次のようになります:

en.lproj/MainStoryboard.storyboard:エラー:無効な構成:静的テーブルビューは、UITableViewControllerインスタンスに埋め込まれている場合にのみ有効です

この問題に関するアイデアがあれば。

ありがとう!

24
Cehm

UITableViewControllerをビューに追加します。 UITableViewを保持する必要があります。これを静的なテーブルビューとして定義し、グループ化します。 2つのセクションを追加します。 1つは1行で、もう1つは2行です。ラベルボタンとスライダーを再び行に追加します。

ここに2つのUITableViewが必要な理由がわかりませんか?

22
Øystein

また、既存のカスタムビューコントローラーを変更するときに問題が発生し、UITableViewControllerを拡張しました。 XCodeは十分にスマートではなく、すでに要件に適合していることに気付きません。

この問題を解決するには、ストーリーボードのソースコードを編集し、<viewController ...から<tableViewController...

元のソース: https://plus.google.com/108665969482300807329/posts/J4mCASMA3pZ

34
juanignaciosl

Xcode 6でこれを機能させる唯一の方法、およびAppleが機能することを意図した方法は、必要に応じてコンテナービューにTableViewControllerを埋め込むことです。 Xcode 6のjuanignacioslの説明に従って.

したがって、手順は次のようになります。

  1. Table View Controllerを作成する
  2. このコントローラーのTable Viewを、「問題のある」View Controllerのテーブル、すべての静的セルなどに置き換えます

テーブルビューがより複雑なUIの一部であり、View Controllerのメインビューではない場合は、以下の手順に進みます

  1. 「問題のある」View Controllerで、移動した静的テーブルビューと同じ位置にcontainerViewを作成します。これにより、別のViewControllerとシークが自動的に作成されます-それらを削除します。
  2. コンテナビューから静的テーブルを含むtableviewcontrollerに左クリックドラッグまたはctrlドラッグし、埋め込みを選択します

TableViewはインターフェイスビルダーの別のView Controllerで削除され、既存のコードとアウトレットに影響を与える可能性があるため、これは以前ほど良いものではありません。ただし、大きな静的テーブルの場合は、すべてのコンテンツを動的に生成するよりも優れた選択肢です。

4
Radu Simionescu

それを動的にし、スクロールを切り替えることができます:

[yourTableName setScrollEnabled:NO];
2
Ash Var