3

私はこれまでに作業したことがUICollectionViewありますが、これまでに作業しUITableViewたことはありません。これUIScrollViewを使用して、配列からのユーザーコメントの(潜在的に長い)垂直リストを表示する必要があると思います。

私はどちらかを使用することを考えていましたが、どちらを使用するのが良いUITableViewUIScrollViewわかりませんでした。私はよく知ってUITableViewいますが、そうではないUIScrollViewので、コメントをリストして表示する方法がわかりませんUIScrollViewUIScrollViewたとえば、ユーザーコメントの配列を表示するには、に何を追加する必要がありますか?それはWebビューですか(私は以前にWebビューを使用したことがありません)?

4

2 に答える 2

3

コメントの配列を使用している場合は、UITableView(またはUICollectionView)を使用するのが論理的に聞こえます。そうでない場合は、ビューの作成とリリースを自分で管理する必要があります。UITableViewは実際にはUIScrollView実装であり、ビュー管理が自動的に行われます。

UIScrollViewは、自分で管理するのが難しい場合があります。ビューを追加できる空白のキャンバスですが、一度にいくつのビューが必要ですか?すべてのコメントを一度にロードしても意味がありません。したがって、スクロール位置を追跡し、必要なビューと不要なビューを動的にロードおよびアンロードするシステムが必要です。これは、テーブルビューとコレクションビューが行うこととまったく同じです。

UITableViewにはまらないように気をつけてください。UIScrollViewこれは決して推奨されることはなく、メモリ管理に危険を及ぼす可能性があります(必要以上のビューまたはセルがロードされる可能性があり、コメントの数によっては大量になる可能性があります)。現在スクロールビューを使用してビューを表示している場合は、それを1つ以上のビューに変換してから、それらをテーブルビューの一番上のセルとして設定し、コメントで下のセルを取得できます。

于 2013-01-06T02:06:50.053 に答える
1

特にコメントの配列が長い場合は、UITableViewを使用します。テーブルはセルの再利用をサポートし、メモリフットプリントを抑えるのに役立ちます。つまり、適切に構成されていれば、セルが下にスクロールしているときに画面の上部から出るとすぐに、新しいコンテンツで下部から出てきます。

テーブルビューには、事後にテーブルに追加する場合に、新しい行を簡単にアニメーション化できるという利点もあります。

[<#(UITableView *)#> insertRowsAtIndexPaths:<#(NSArray *)#> withRowAnimation:<#(UITableViewRowAnimation)#>];

また、特定のセルを上、下、中央などに自動的にスクロールする操作。

[<#(UITableView *)#> scrollToRowAtIndexPath:<#(NSIndexPath *)#> atScrollPosition:<#(UITableViewScrollPosition)#> animated:<#(BOOL)#>];

さらに、テーブルビューのルートに行くと、CocoaControls.comにメッセージアプリに触発されたバブルスタイルのチャットログを実装するプロジェクトがいくつかあります。これらのプロジェクトはすべてテーブルビューを使用していると思います。

于 2013-01-06T02:07:29.263 に答える