1

したがって、ストーリーボードの UITableViewController の下部に UITableViewCell をドラッグするだけで、フッターのように動作させることができることをここで読みました。このフッター行にはアクティビティ インジケーターがあります。幅は 320、高さは 55 で、インジケーターが行の中央に配置されています。前者でしか機能しないため、UITableViewCellではなくUIViewであることに注意してください。

まず、UITableView はフッターにとどまりません。UITableView の下部を超えてスクロールを拡張すると、フッターが表示されます。ユーザーが指を離すとすぐに、UITableView がスクロールを最後の要素に戻すため、フッターはサイトから消えます。私はInstagramがやっていることをやろうとしています.一番下までスクロールすると、カスタムアクティビティインジケータが一番下に表示され、UITableはそのインジケータのスクロール位置のままになります. どうすればこれを達成できますか?

2 番目に、特定のユーザー アクションによって実行されるカスタム スクロールがあります。現在、次のコードがあります。

    if (row + 1 < [self.tableView numberOfRowsInSection:0]) { 
        [self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForItem:row+1 inSection:0]
                              atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
    } else {
        // TODO scroll a little down so the user can see the activityIndicator
    }

プログラムでフッターまでスクロールしてそこで停止するように tableView に指示するにはどうすればよいですか?

3番目の最初の段階で、UITableViewは、tableViewにデータを入力する前に、サーバーから物事を取得する必要があります。残念ながら、ActivityIndi​​cator が中央に表示されるように、フッター ビューで UITableView のスペースを最大化することはできません。現在、これはどのように見えるかです:

ここに画像の説明を入力

構造体が正しく設定されていると思います:

ここに画像の説明を入力

UITableView 内に UIView があると、ビューが最大化されない可能性があると思われます。

まとめ 上記の問題に関する推奨事項はありますか? この質問が長くなって申し訳ありませんが、上記の同じ問題に関連していると思います。

4

3 に答える 3

1

私はついにそれを理解しました。

@zingと@Lithuの回答に関しては、うまくいきました。ただし、このメソッドから footerView を返すと、footerView が TableView の下部に「固定」されます。これは、フッタービューが常に表示されることを意味します (これは私が望むものではありません)。

私は最終的にself.tableView.footerView = MyViewを使用しました。UIView のすべてのスプリングと構造体の設定を無効にしましたが、完全に適合します。(テーブルに何もないときに最大化することを期待して、以前に最大化するように設定しました)

アクティビティ インジケーターの中央揃えについて: UITableView に何もない場合 (numberOfRows をチェックして)、フッター ビューを非表示に設定することになりました。これが発生した場合、ActivityIndi​​cator をプログラムで中央に追加しました。

すべての答えをありがとう!!

于 2013-03-30T00:11:53.733 に答える
0

UITableview Footer の適切なデリゲートでそれを実行しようとしましたか

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
于 2013-03-28T11:18:13.527 に答える
0

フッターに任意のビューを追加するには、このコードを使用します。例えば

- (UIView*)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
       UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(0, 50, self.tblView.frame.size.width, 49)];
       return footerView;
    }
于 2013-03-29T05:27:22.540 に答える