<strong>相信大家經城迫幔可以看到一些應用的背景頁面可以拉伸效果,有沒有好奇他是怎樣實現的,網上有很多方法矾瘾,大家都可以參考姥闭,我封裝了一個<code>改變頭部視圖frame</code>實現的一個拉伸效果</strong>
要實現頭部拉伸,我們需要知道被拉伸圖片的高度和圖片名聲,為了封裝聲明兩個方法
/**
* 頭部被拉伸圖片控件的高度
*/
@property (nonatomic, assign) CGFloat stretchingImageHeight;
/**
* 頭部被拉伸圖片名稱
*/
@property (nonatomic, copy) NSString *stretchingImageName;
/** 頂部拉伸的圖片 */
@property (nonatomic, weak) UIImageView *topView;
<strong>1.設置圖片拉伸的高度</strong>
//頭部被拉伸圖片控件的默認高度
CGFloat CFTopViewH = 200;
- (void)setStretchingImageHeight:(CGFloat)stretchingImageHeight{
_stretchingImageHeight = stretchingImageHeight;
CFTopViewH = stretchingImageHeight;
self.tableView.contentInset = UIEdgeInsetsMake(stretchingImageHeight , 0, 0, 0);
self.topView.frame = CGRectMake(0, -CFTopViewH, self.tableView.frame.size.width, CFTopViewH);
}
<strong>2.設置拉伸的圖片</strong>
//設置拉伸圖片
- (void)setStretchingImageName:(NSString *)stretchingImageName{
_stretchingImageName = stretchingImageName;
self.topView.image = [UIImage imageNamed:stretchingImageName];
}
<strong>3.在ViewDidLoad里調用就行</strong>
// 1贪染、設置被拉伸圖片view的高度
self.stretchingImageHeight = 150;
// 2缓呛、設置頭部拉伸圖片的名稱
self.stretchingImageName = @"strech.jpg";
<strong>其實就這兩句話就可以搞定,是不是很簡單杭隙,快去試試吧~</strong>
self.tableView.contentInset = UIEdgeInsetsMake(stretchingImageHeight , 0, 0, 0);
self.topView.frame = CGRectMake(0, -CFTopViewH, self.tableView.frame.size.width, CFTopViewH);
self.tableView.frame.size.width, CFTopViewH);