在此记,怕遗忘。
项目出了个小问题, 在这个header上写了个视图, 然后不写 _tableView.tableHeaderView = view; 这句视图会随着屏幕移动。写了之后就固定不动了。 是视图层次问题。 虽然问题已经修改完毕,但是却突然想到以前别人app上灵活的视图设计方式.. 记一下.. 以后用得上.
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *view = [[UIView alloc] init];
UIImage *avart = [UIImage imageNamed:@"profileAvart.png"];
if (!avartView)
avartView = [[UIImageView alloc] initWithImage:avart];
avartView.userInteractionEnabled = YES;
[avartView setFrame:CGRectMake((tableView.frame.size.width-avart.size.width)/2, 10.0, avart.size.width, avart.size.height)];
if (_friendPfofile)
{
//avartURL = [NSString stringWithString:_userProfile.avatar];
NSString *avatarPath = [[FileManager getClassInstance] getAvatarMessageFolder:loginUserJid withImageUrl:_friendPfofile.avatar];
NSData *imageData = [NSData dataWithContentsOfFile:avatarPath];
if(imageData)
{
UIImage *image = [UIImage imageWithData:imageData];
image = [image roundedCornerImage:10 borderSize:3];
avartView.image = image;
}
else
{
imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:_friendPfofile.avatar]];
if (imageData)
avartView.image = [UIImage imageWithData:imageData];//[UIImage imageNamed:@"photoBg.png"];
else
avartView.image = [UIImage imageNamed:@"photoBg.png"];
}
}
else
avartView.image = [UIImage imageNamed:@"photoBg.png"];
_tableView.tableHeaderView = view; //头像固定在tableView上.
[view addSubview:avartView];
return view;
}