//
// ProfileViewController.m
// TwProfile
//
// Created by hunk on 4/30/13.
// Copyright (c) 2013 mx.com.hunk. All rights reserved.
//
#import "ProfileViewController.h"
static CGFloat ImageHeight = 150.0;
static CGFloat ImageWidth = 320.0;
@interface ProfileViewController ()
@end
@implementation ProfileViewController
- (void)updateImg {
CGFloat yOffset = _tableView.contentOffset.y;
if (yOffset < 0) {
CGFloat factor = ((ABS(yOffset)+ImageHeight)*ImageWidth)/ImageHeight;
CGRect f = CGRectMake(-(factor-ImageWidth)/2, 0, factor, ImageHeight+ABS(yOffset));
self.imgProfile.frame = f;
} else {
CGRect f = self.imgProfile.frame;
f.origin.y = -yOffset;
self.imgProfile.frame = f;
}
}
#pragma mark - Table View Delegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
[self updateImg];
}
#pragma mark - Table View Datasource
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 2;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (section == 0)
return 1;
else
return 12;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0)
return ImageHeight;
else
return 44.0;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *cellReuseIdentifier = @"SectionTwoCell";
NSString *windowReuseIdentifier = @"SectionOneCell";
UITableViewCell *cell = nil;
if (indexPath.section == 0) {
cell = [tableView dequeueReusableCellWithIdentifier:windowReuseIdentifier];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:windowReuseIdentifier];
}
} else {
cell = [tableView dequeueReusableCellWithIdentifier:cellReuseIdentifier];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellReuseIdentifier];
cell.contentView.backgroundColor = [UIColor lightGrayColor];
}
cell.textLabel.text = [ NSString stringWithFormat:@"cell %i",indexPath.row];
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
}
- (id)init
{
self = [super init];
if (self) {
// Custom initialization
UIImage *p_w_picpath = [UIImage p_w_picpathNamed:@"bg.png"];
self.imgProfile = [[UIImageView alloc] initWithImage:p_w_picpath];
self.imgProfile.frame = CGRectMake(0, 0, ImageWidth, ImageHeight);
self.tableView = [[UITableView alloc] init];
self.tableView.dataSource = self;
self.tableView.delegate = self;
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.backgroundColor = [UIColor clearColor];
[self.view addSubview:self.imgProfile];
[self.view addSubview:self.tableView];
self.title = @"with UITableView";
}
return self;
}
#pragma mark - View lifecycle
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
CGRect bounds = self.view.bounds;
_tableView.frame = bounds;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
转载于:https://blog.51cto.com/derkin2jessie/1216630