UItableview的頭部粘連效果
頭部不放大
#import "ViewController.h"
@interface ViewController ()<UITableViewDelegate,UITableViewDataSource,UIScrollViewDelegate>
@property (nonatomic,strong)UITableView *tableView;
@property (nonatomic,strong)UIImageView *img;
@end
@implementation ViewController
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
self.navigationController.navigationBar.hidden = YES;
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStylePlain];
[self.view addSubview:self.tableView];
self.tableView.delegate = self;
UIImage *im = [UIImage imageNamed:@"hh"];
UIImageView *img = [[UIImageView alloc] initWithImage:im];
self.img = img;
img.frame = CGRectMake(0, -200, self.view.frame.size.width, 200);
_tableView.contentInset = UIEdgeInsetsMake(200, 0, 0, 0);
[_tableView addSubview:img];
self.tableView.dataSource = self;
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"ID"];
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGFloat y = scrollView.contentOffset.y;
if (scrollView == _tableView) {
if (y < -200) {
CGRect frame = self.img.frame;
frame.size.height = - y ;
frame.origin.y = y;
self.img.frame = frame;
}
}
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return 30;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ID"];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"ID"];
}
cell.textLabel.text = [NSString stringWithFormat:@"%ld",(long)indexPath.row];
return cell;
}
頭部放大
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationController.navigationBar.hidden = YES;
self.automaticallyAdjustsScrollViewInsets = NO;
// 設定可伸縮圖片一系列屬性
UIImage *img = [UIImage imageNamed:@"header"];
self.header = [[UIImageView alloc] initWithImage:img];
CGFloat width = self.tableView.frame.size.width;
CGFloat height = width * 2 / 3;
self.inOffSet = height;
self.header.frame = CGRectMake(0, -height, width, height);
[self.tableView addSubview:self.header];
self.tableView.contentInset = UIEdgeInsetsMake(self.inOffSet, 0, 0, 0);
}
// 滾動狀態
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGFloat yoffset = scrollView.contentOffset.y;
CGFloat xoffset = (yoffset + self.inOffSet)/ 2;
if (yoffset < -self.inOffSet) {
CGFloat width = scrollView.frame.size.width;
self.header.frame = CGRectMake(xoffset, yoffset, width - xoffset * 2, -yoffset);
}
}
#pragma mark - Table view data source
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
// Return the number of rows in the section.
return 20;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// 測試資料
static NSString *ID = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID];
}
cell.textLabel.text = [NSString stringWithFormat:@" %ld", indexPath.row];
return cell;
}
相關文章
- CSS實現兩個球相交的粘粘效果CSS
- OpenGL ES 實現頭部形變和頭部晃動效果
- Swift21/90Days – 動態變化的 UITableView 頭部SwiftUIView
- CSS頭部內容和底部佈局效果CSS
- Android RecyclerView實現頭部懸浮吸頂效果AndroidView
- “粘連”footer佈局的思考和總結
- TesterHome 首頁頂部的導航箭頭點選沒什麼效果
- TCP頭部TCP
- 專案常用效果!Flutter仿頭條頂部tab切換實現!Flutter
- iOS開發UI篇--使用UICollectionView實現一個列表頭部拉伸效果的案例iOSUIView
- Android 從零開始實現RecyclerView分組及粘性頭部效果AndroidView
- UITableView的坑UIView
- Java解析ELF檔案:使用Java讀取檔案頭部、節區頭部表、程式頭部表Java
- UITableViewUIView
- HTML————8、HTML 頭部HTML
- 返回頭部事件案例事件
- 4個常用的HTTP安全頭部HTTP
- CSS箭頭引導的分佈效果CSS
- 關於google搜尋欄首字母粘連問題Go
- 移動前端頭部mete前端
- HTTP與快取相關的頭部HTTP快取
- http頭部如何對快取的控制HTTP快取
- UITableView --SwiftUIViewSwift
- 優雅的使用UITableViewUIView
- Swift iOS: UITableView的使用SwiftiOSUIView
- 土巴兔成“頭部的頭部”,網際網路裝潢跨入超級獨角獸時代
- jQuery文字從頂部掉落效果jQuery
- 修改labelme原始碼,解決粘連mask分離問題原始碼
- Android帶有粘性頭部的ScrollViewAndroidView
- IP報文頭部圖解圖解
- ios SDWebImage新增頭部引數iOSWeb
- 首頁頭部提示佈局
- LPDMvvmKit 系列之 UITableView 的改造MVVMUIView
- 去除UITableView多餘的seperatorUIView
- UITableView優化UIView優化
- iOS Swift UITableView的scrollToRow的”坑”iOSSwiftUIView
- iOS Swift UITableView的scrollToRow的"坑"iOSSwiftUIView
- CSS帶有箭頭的對話方塊效果CSS