0

アプリでEGORefreshTableHeaderViewを使用したいと考えています。

アプリにさまざまな UITableView があります。そのうちの1つにはフッターとしてUIViewがあり、もう1つにはありません。EGORefreshTableHeaderView で次のコードを確認してください。

- (void)egoRefreshScrollViewDidScroll:(UIScrollView *)scrollView {
    if (_state == EGOOPullRefreshLoading) {
        CGFloat offset = MAX(scrollView.contentOffset.y * -1, 0);
        offset = MIN(offset, 60);
        scrollView.contentInset = UIEdgeInsetsMake(offset, 0.0f, 0.0f, 0.0f);
     }

ご覧のとおり、contentInset.bottom は0.0f. フッター付きのTableViewの結果、問題が発生しました。scrollViewフッターがあるかどうかを確認するにはどうすればよいですか?

それから私は言うことができます:

if(ScrollView has footer)
      bottom = 50;
else
     bottom = 0;
4

1 に答える 1

0

これは私が今まで見つけた解決策です:

CGFloat bottom = 0.0f;
if([scrollView isKindOfClass:[UITableView class]]) {
    if(((UITableView *)scrollView).tableFooterView)
        bottom = 50.0f;
}
[scrollView setContentInset:UIEdgeInsetsMake(0.0f, 0.0f, bottom, 0.0f)];
于 2012-11-11T18:46:06.190 に答える