首页 > 移动平台 > 详细

iOS实现UITableView可自由伸缩Header的实现思路

时间:2015-10-12 22:27:07      阅读:1094      评论:0      收藏:0      [点我收藏+]

首先,上一下效果图..

技术分享

 

思路:

可拉伸图片放的位置咋一看有两种,落在tableHeaderView上或者是落在tableView的(0,0)位置

然而,第一种思路当程序写到图片拉伸的时候就会发现问题,图片的横方向上并不会拉伸,原因是tableHeaderView是配在TableView上的,它的宽度被限制住了,简而言之,第一种思路并不合适.

 

第二种思路就是落在(0,0)上了.其实就是[tableView addSubView],然后慢慢设置一下位置,程序写下来就基本没什么大问题了.

 

过程可能遇到的问题:

1.NavgationBar变透明底下还有一条横线.

解决方法:

[self.navigationController.navigationBar setShadowImage:[[UIImage alloc] init]];

 

2.NavgationBar怎么变透明的.

解决方法:

setBackgroundColor并不管同, 而setBackgroundImage就可以实现, 接着就变成实现Image改变透明度的问题了, 然而, Image并不存在alpha这个属性, 所以要用到Quartz2D的一些知识.

// 生成纯色背景图
- (UIImage *)createPureColorImageWithColor:(UIColor *)color alpha:(CGFloat)alpha size:(CGSize)size
{
    // 纯色的UIView
    UIView *pureColorView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, size.width, size.height)];
    pureColorView.backgroundColor = color;
    pureColorView.alpha = alpha;
    
    // 由上下文获取UIImage
    UIGraphicsBeginImageContext(size);
    [pureColorView.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *pureColorImage = UIGraphicsGetImageFromCurrentImageContext();
    
    // 结束上下文
    UIGraphicsEndImageContext();
    
    return pureColorImage;
}

 

附上github:  https://github.com/samAroundGitHub/UITableViewHeaderStrectching2

 

iOS实现UITableView可自由伸缩Header的实现思路

原文:http://www.cnblogs.com/easyToCode/p/4872937.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!