123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- //
- // StretchableTableHeaderView.m
- // StretchableTableHeaderView
- //
- #import "HFStretchableTableHeaderView.h"
- @interface HFStretchableTableHeaderView()
- {
- CGRect initialFrame;
- CGFloat defaultViewHeight;
- }
- @end
- @implementation HFStretchableTableHeaderView
- @synthesize tableView = _tableView;
- @synthesize view = _view;
- - (void)stretchHeaderForTableView:(UITableView*)tableView withView:(UIView*)view
- {
- _tableView = tableView;
- _view = view;
-
- initialFrame = _view.frame;
- defaultViewHeight = initialFrame.size.height;
-
- UIView* emptyTableHeaderView = [[UIView alloc] initWithFrame:initialFrame];
- _tableView.tableHeaderView = emptyTableHeaderView;
-
- [_tableView addSubview:_view];
- }
- - (void)scrollViewDidScroll:(UIScrollView*)scrollView
- {
- CGRect f = _view.frame;
- f.size.width = _tableView.frame.size.width;
- _view.frame = f;
-
- if(scrollView.contentOffset.y < 0) {
- CGFloat offsetY = (scrollView.contentOffset.y + scrollView.contentInset.top) * -1;
- initialFrame.origin.y = offsetY * -1;
- initialFrame.size.height = defaultViewHeight + offsetY;
- _view.frame = initialFrame;
- }
- }
- - (void)resizeView
- {
- initialFrame.size.width = _tableView.frame.size.width;
- _view.frame = initialFrame;
- }
- @end
|