1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//
// MaskView.m
// TestDemo
//
// Created by LHL on 15/8/11.
// Copyright © 2015年 yongche. All rights reserved.
//

#import "MaskView.h"

@implementation MaskView

- (instancetype)initWithFrame:(CGRect)frame{
if (self = [super initWithFrame:frame]) {
imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.bounds.size.width, 16)];
imageView.image = [UIImage imageNamed:@"channel_normal_bottom_bg"];
[self addSubview:imageView];

imageView2 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 53, 16)];
imageView2.image = [UIImage imageNamed:@"channel_selected_bottom_bg"];
[self addSubview:imageView2];

[self contentOffset:CGPointZero];



}
return self;
}

- (void)contentOffset:(CGPoint)contentOffset{
[imageView removeFromSuperview];
imageView.image = [UIImage imageNamed:@"channel_normal_bottom_bg"];
[self addSubview:imageView];


CGRect frame = imageView2.frame;
frame.origin.x = contentOffset.x;
imageView2.frame = frame;

// 覆盖图片部分 整成透明
UIGraphicsBeginImageContext(imageView.frame.size);
[imageView.image drawInRect:imageView.bounds];
CGRect image2Frame = imageView2.frame;
image2Frame.origin.x = image2Frame.origin.x+1;
image2Frame.size.width = image2Frame.size.width - 2;
CGContextClearRect (UIGraphicsGetCurrentContext(), image2Frame);
imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}

@end

源码:https://github.com/lihongli528628/TestDemo.git