2012-10-14 6 views
9

私には次の要件があります。 UITableViewControllerのビューが表示されるとき、可変数の行があります。行の下にボタンが表示されます。UITableViewControllerのビューの一番下までUIButtonをアンカーします

行の数が少ない場合は、ボタンをビューの下部に固定する必要があります。

行数が多い場合は、削除ボタンを最後の行の直後に配置する必要があります。

enter image description here

そしてません:つまり

enter image description here

これまでtableFooterViewを設定し、contentSizeを使用して、その高さを更新しようと関与しているこの時私の最高の試みUITableViewのものですが、私はあらゆる種類の問題に取り組んでいます。私はこの道を歩み続け、いくつかの助けを求めるかもしれませんが、まず誰かが代替(より良い)解決策を持っているかどうかを知りたいのです。

2倍のサイズのステータスバー(例:通話中)で結果がうまく再生され、iOS 6.0をターゲットにしています。私はインターフェイスビルダーを使用していません。

+1

+1の写真: – David

+0

素晴らしいグラフィック、男性。あなたのための1つのupvote! – katzenhut

+0

ちょっと@ベン私は同様の問題を尋ねました。 stackoverflow.com/questions/21692880/uiscrollview-with-sticky-footer-uiview-and-dynamic-height-contentをご覧ください。これをどうやって解決しましたか? – Gaston

答えて

0

テーブルビューとボタンの両方をスクロールビュー内に保持します。スクロールビューの下部にボタンを置いてください。適切にスクロールするには、スクロールビューのscrollEnabledプロパティを設定します。それについての詳細はアップこれをチェック

Scrolling a UITableView inside a UIScrollView

EDIT:

yourView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin。

は、コードを使用してimplimenting支柱とスプリングの詳細については、この質問の受け入れ答えを確認してください: UIView autoresizingMask - Interface Builder to Code - Programmatically create struts and springs - Swift or Objective-C

+0

しかし、スクロールが不要な場合は、画面の下部にあるボタンをどのように維持しますか? –

+0

ボタンをスクロールビューの下部に取り付けたままにしておくと、サイズインスペクタに表示されます。あなたのuitableviewcellのサイズが変わっても、scrollviewの最小サイズは常に同じです。 – Rakesh

+0

私はインターフェイスビルダを使用していないという質問に言及しておく必要があります(今更新する予定です)。 IBが 'scrollViewの下部にボタンを付けたままにする'ために使用するAPIを説明して、コードでそれを複製しようとすることはできますか? –

1

をこの効果を達成するための一つの可能​​な解決策は、二つの異なるソリューションを使用する必要があります。

  1. ボタンの数が画面外にある場合は、行ったようにfooterViewを使用します。次いで

  2. 行の量はボタンが画面から外れないことを意味場合

    1. - (void)scrollViewDidScroll:(UIScrollView *)scrollViewを実装し、底部からオフセットされるボタンのフレームを更新するのtableView
    2. にボタンを追加します。 (CGRectGetHeight(ボタン -

底からのオフセットは、この

  1. yOffsetの= CGRectGetHeight(tableView.frame)のようないくつかの論理に従うかもしれません。フレーム)+ somePadding)
  2. yOffsetの+ = tableView.contentOffset.yは

これは、ボタンはまだスクロールで上下に移動していることを意味していますが、footerViewの高さを台無しにする必要はありません

関連する問題