图片滤镜功能的代码设计
2014-04-15 20:04
267 查看
- (void)viewDidLoad { [super viewDidLoad]; UIButton *leftBtn = [UIButton buttonWithType:UIButtonTypeCustom]; [leftBtn setImage:[UIImage imageNamed:@"btn_back.png"] forState:UIControlStateNormal]; [leftBtn setFrame:CGRectMake(10, 20, 34, 34)]; [leftBtn addTarget:self action:@selector(backView:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:leftBtn]; UIButton *rightBtn =[UIButton buttonWithType:UIButtonTypeCustom]; [rightBtn setImage:[UIImage imageNamed:@"camera_btn_ok.png"] forState:UIControlStateNormal]; [rightBtn setFrame:CGRectMake(270, 20, 34, 34)]; [rightBtn addTarget:self action:@selector(fitlerDone:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:rightBtn]; [self.view setBackgroundColor:[UIColor colorWithWhite:0.388 alpha:1.000]]; rootImageView = [[UIImageView alloc ] initWithFrame:CGRectMake(40, 70, 230, 300)]; rootImageView.image = currentImage; [self.view addSubview:rootImageView]; //用字符串数组声明所有的滤镜效果 NSArray *arr =[NSArray arrayWithObjects:@"原创美图",@"奇幻世界",@"亮彩风光",@"黑白心情",@"怀旧时刻",@"碧绿清静",nil]; scrollerView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, ScreenHeight - 80, 320, 80)]; scrollerView.backgroundColor = [UIColor clearColor]; scrollerView.indicatorStyle = UIScrollViewIndicatorStyleBlack; scrollerView.showsHorizontalScrollIndicator = NO; //关闭纵向滚动条 scrollerView.showsVerticalScrollIndicator = NO; scrollerView.bounces = NO; //循环每一次选择的滤镜 float x ; for(int i=0;i<6;i++) { x = 10 + 51*i; UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(setImageStyle:)]; recognizer.numberOfTouchesRequired = 1; recognizer.numberOfTapsRequired = 1; recognizer.delegate = self; UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(x, 53, 40, 23)]; [label setBackgroundColor:[UIColor clearColor]]; [label setText:[arr objectAtIndex:i]]; [label setTextAlignment:NSTextAlignmentCenter]; [label setFont:[UIFont systemFontOfSize:13.0f]]; [label setTextColor:[UIColor whiteColor]]; [label setUserInteractionEnabled:YES]; [label setTag:i]; [label addGestureRecognizer:recognizer]; [scrollerView addSubview:label]; [label release]; UIImageView *bgImageView = [[UIImageView alloc]initWithFrame:CGRectMake(x, 10, 40, 43)]; [bgImageView setTag:i]; [bgImageView addGestureRecognizer:recognizer]; [bgImageView setUserInteractionEnabled:YES]; UIImage *bgImage = [self changeImage:i imageView:nil]; bgImageView.image = bgImage; [scrollerView addSubview:bgImageView]; [bgImageView release]; [recognizer release]; } //把最终选择的滤镜填充到主界面中 scrollerView.contentSize = CGSizeMake(x + 55, 80); [self.view addSubview:scrollerView]; }
相关文章推荐
- leetcode-Jump Game II (2014.3.3)
- C++中数组参数详解
- leetcode-LRU Cache(2014.2.7)
- C#RichTextBox 文本查找与替换
- C#中的委托和事件(续)
- jdk环境变量配置
- leetcode-Length of Last Word(2014.3.31)
- leetcode-Maximum Depth of Binary Tree(2014.1.21)
- 笔记之Ruby(一)
- leetcode-Merge Sorted Array(2014.2.8)
- 开始 python programming第三版案例分析
- leetcode-Minimum Depth of Binary Tree(2014.1.22)
- leetcode-Pascal's Triangle
- Python正则表达式---全部能匹配的子串迭代器finditer及findall及以中文匹配部分中文
- lua -- 事件响应与局部变量
- leetcode-Pascal's Triangle II (2014.3.11)
- leetcode-Permutations(2014.2.3)
- Java中的异常
- leetcode-Permutations II(2014.2.4)
- lua -- 字体闪烁