現(xiàn)在很多app設(shè)置了這樣的效果,如何實(shí)現(xiàn)這一效果呢,其實(shí)只需要簡(jiǎn)單的兩個(gè)方法,那么我們直接上代碼
首先我們?cè)趕toryBoard里拖一個(gè)tableView并設(shè)置Navigation,接下來(lái)我們?cè)趖ableView中設(shè)置圖片
我是自己寫(xiě)了個(gè)方法然后在viewDidLoad中調(diào)用,也可以直接在viewDidLoad中設(shè)置
-(void)setlayoutHeaderView{
//設(shè)置一個(gè)view,為了使將圖片添加到這個(gè)view上
UIView *aView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 200)];
//添加圖片
self.imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 200)];
self.imageView.image = [UIImage imageNamed:@"12"];
[aView addSubview:self.imageView];
self.tableView.tableHeaderView = aView;
}
設(shè)置圖片效果
設(shè)置好圖片后,我們需要設(shè)置下拉變化,如果實(shí)現(xiàn)這一效果呢?我們知道 UITableViewController是繼承于scrollView,那么我們可以在tableViewController調(diào)用scrollView的方法
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
//獲取偏移量
CGPoint offset = scrollView.contentOffset;
//判斷是否改變
if (offset.y < 0) {
CGRect rect = self.imageView.frame;
//我們只需要改變圖片的y值和高度即可
rect.origin.y = offset.y;
rect.size.height = 200 - offset.y;
_imageView.frame = rect;
}
}
這樣我們就實(shí)現(xiàn)了這一效果()
下拉變大的效果