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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
//
// FootSubView.m
// Lighting
//
// Created by mac on 16/5/10.
// Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//
#import "FootSubView.h"
@implementation FootSubView
- (instancetype)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame]) {
[self initdata];
[self initSubView];
}
return self;
}
-(void)initdata
{
NSString *imageName = [NSString stringWithFormat:@"backView" ];
UIImage *image=[UIImage imageNamed:imageName];
self.dataArray=[[NSMutableArray alloc]initWithObjects:image,image,image,nil];
// 待接收
}
-(void)initSubView
{
UIButton *button=[UIButton buttonWithType:UIButtonTypeCustom];
button.frame=CGRectMake(30, 50, 60, 60);
[button setBackgroundImage:[UIImage imageNamed:@"场景1"] forState:UIControlStateNormal];
button.tag=200;
[button addTarget:self action:@selector(footBtnDidSelected:) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:button];
self.scrollView=[[UIScrollView alloc]initWithFrame:CGRectMake(100, 0, self.frame.size.width-100, self.frame.size.height)];
// 禁用滚动条,只设置水平方向的滚动条即可,竖直方向的滚动范围是0,所以没必要设置
self.scrollView.showsHorizontalScrollIndicator = NO;
[self addSubview:self.scrollView];
// contentSize的y值为0表示在垂直方向上不做滚动
[self showSecenePicture];
}
-(void)showSecenePicture
{
[self.scrollView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
self.scrollView.contentSize = CGSizeMake((self.dataArray.count+1) * (100+10), 0);
for (int i=0; i<self.dataArray.count; i++) {
UIButton *button=[[UIButton alloc]initWithFrame:CGRectMake(i*(100+10), 30, 100, 100)];
UIImage *image=[self.dataArray objectAtIndex:i];
[button setImage:image forState:UIControlStateNormal];
button.tag=100+i;
[button addTarget:self action:@selector(clicked:) forControlEvents:UIControlEventTouchUpInside];
UILongPressGestureRecognizer *longPressGR =
[[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPress:)];
longPressGR.minimumPressDuration = 0.5;
[button addGestureRecognizer:longPressGR];
[self.scrollView addSubview:button];
}
}
//单次点击 设置为背景色
-(void)clicked:(UIButton*)sender
{
NSLog(@"%d",(sender.tag));
if ([self.delegate respondsToSelector:@selector(resetSuperBackGroundImage:)]) {
[self.delegate resetSuperBackGroundImage:sender.imageView.image];
}
// resetSuperBackGroundImage
}
//长按 删除已添加
-(void)longPress:(id)sender
{
UILongPressGestureRecognizer *longPress=sender;
if (longPress.state == UIGestureRecognizerStateBegan) {
NSInteger index=longPress.view.tag-100;
if (self.dataArray.count>index) {
[self.dataArray removeObjectAtIndex:index];
[self showSecenePicture];
}
}
else {
}
NSLog(@"长按");
}
//回调
-(void)footBtnDidSelected:(UIButton *)sender
{
if ([self.delegate respondsToSelector:@selector(buttonClick:withButton:)]) {
[self.delegate buttonClick:sender.tag withButton:sender];
}
}
-(void)addFootSubViewImage:(UIImage*)image
{
[self.dataArray addObject:image];
[self showSecenePicture]; //重新绘制图片数量
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
}
*/
@end