#在蓝懿学习iOS的日子#day22

从相册获取图片进行编辑

1、搭建界面,添加按钮进行关联

2、从点击按钮跳转到相册的界面

3、选择将要跳转下一页面

4、已经完成选择图片

@property (nonatomic, strong)UIScrollView *sv;

@property (nonatomic, strong)NSMutableArray *seletedIVs;

@end

@implementation ViewController

- (IBAction)clicked:(id)sender {

self.seletedIVs = [NSMutableArray array];

UIImagePickerController *ipc = [[UIImagePickerController alloc]init];

ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

ipc.delegate = self;

//是否允许编辑

//    ipc.allowsEditing = YES;

[self presentViewController:ipc animated:YES completion:nil];

}

- (void)viewDidLoad {

[super viewDidLoad];

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{

NSLog(@"%@",UIImagePickerControllerOriginalImage);

NSLog(@"%@",@"UIImagePickerControllerOriginalImage");

UIImage *image = info[UIImagePickerControllerOriginalImage];

//    通过数组计数 让图片的x轴和数组的数量建立关系

UIImageView *iv = [[UIImageView alloc]initWithFrame:CGRectMake(self.seletedIVs.count*80, 0, 80, 80)];

iv.image = image;

[self.sv addSubview:iv];

//打开交互

iv.userInteractionEnabled = YES;

//    往图片中添加删除按钮

UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(60, 0, 20, 20)];

[btn setTitle:@"X" forState:UIControlStateNormal];

[btn addTarget:self action:@selector(deleteAction:) forControlEvents:UIControlEventTouchUpInside];

[iv addSubview:btn];

[self.seletedIVs addObject:iv];

[self.sv setContentSize:CGSizeMake(self.seletedIVs.count*80, 0)];

//    [self dismissViewControllerAnimated:YES completion:nil];

}

-(void)deleteAction:(UIButton *)btn{

//拿到按钮所在的图片

UIImageView *iv = (UIImageView *)btn.superview;

//从数组中删除

[self.seletedIVs removeObject:iv];

// 从界面中删除

[iv removeFromSuperview];

for (int i=0; i<self.seletedIVs.count; i++) {

UIImageView *iv = self.seletedIVs[i];

[UIView animateWithDuration:.5 animations:^{

iv.frame = CGRectMake(i*80, 0, 80, 80);

}];

}

}

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated{

if (navigationController.viewControllers.count==2) {

UIView *v = [[UIView alloc]initWithFrame:CGRectMake(0, 567, 375, 100)];

v.backgroundColor = [UIColor redColor];

[viewController.view addSubview:v];

self.sv = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 20, 375, 80)];

self.sv.backgroundColor = [UIColor blueColor];

[v addSubview:self.sv];

//添加返回按钮

UIButton *doneBtn = [[UIButton alloc]initWithFrame:CGRectMake(295, 0, 80, 20)];

[doneBtn setTitle:@"Done" forState:UIControlStateNormal];

[doneBtn addTarget:self action:@selector(finishAction:) forControlEvents:UIControlEventTouchUpInside];

[v addSubview:doneBtn];

}

}

-(void)finishAction:(UIButton*)btn{

[self dismissViewControllerAnimated:YES completion:nil];

}

时间: 2024-12-09 19:28:46

#在蓝懿学习iOS的日子#day22的相关文章

#在蓝懿学习iOS的日子#Day10

#在蓝懿学习iOS的日子#Day10今天做了一个大的游戏,涵盖了这段时间学洗的知识,页面的切换字符串,还有可变数组和遍历等知识点. 1.显示搭建视图添加背景,创建一个选择hero视图,添加一个button点击进入下一个选择hero视图: 2.在hero视图搭建视图添加背景,创建一个英雄hero类,把不同的英雄j连接进同一个button,设置tag用以区分hero类:在点击button进入游戏页面, 3.在游戏页面添加移动的背景视图, -(void)initBG{ //添加背景图片 self.bg

#在蓝懿学习iOS的日子#Day2

#在蓝懿学习iOS的日子#今天的学习的东西好多,当是每天的笔记吧: 1. 变量的作用域 局部变量:只可以在大括号内{}的范围为内使用: 全局变量: 在@interface ViewController ()的大括号内{}设置的变量u都j是全局变量,但不可以赋值 例:@interface ViewController (){ UIImageView *bulletIV; float x; int m; } 2.布尔值:BOOL  取值0或1   即:1是表示条件成立,0表示条件不成立: 3.if语

#在蓝懿学习iOS的日子#第二个练习日

#在蓝懿学习iOS的日子#第二个练习日,在学习Day4和Day5的知识后, 今天主要的任务是:巩固和加深这两天学习的内容,这俩天,主要学习的是类的创建,如何正在.h头文件和.m子文件里输入相关的属性及方法,把一个对象的属性和方法,封装到一个类.m子文件里面,然后在在ViewContrller.m里可以直接调用类的属性及方法,感觉条理分明,更多的东西不会杂乱无章,变得有章可循. 又分别 讲了inWith - (instancetype)initWithName:(NSString *)name a

#在蓝懿学习iOS的日子#第五个练习日

今天主要复习了昨天学习的文件管理器的知识,由于之前练的比较少,思维逻辑有些跟不上 1.我们要搭建好界面,创建好界面 //创建一个以文件名开头的可变数组 @property (nonatomic,strong)NSMutableArray *filePaths; @end @implementation TableViewController - (void)viewDidLoad { [super viewDidLoad]; //初始化数组 self.filePaths = [NSMutable

#在蓝懿学习iOS的日子#第四个练习日

转眼间,时间过得很快,来这里学习快要一个月了,经历了7天课程的零基础训练营,认识了iOS,学习了一些简单的的知识,紧接着进入 了正式的基础课,已经上了的课,学习了好多的东西: 学习的内容有:变量. 常用数字运算符. 控件.变量的作用域.if逻辑判断.swith-case.for循环.Timer . 讲了while语句.break:跳出当前的循环:continue:结束本次循环,进入下次循环:return:结束当前的方法.面向对象.类方法.工厂方法.单例.继承.多态.数组.遍历.协议内存.管理内存

#在蓝懿学习iOS的日子#day14

今天上午学习uitabelViewcell和下午学习用uitabelViewcel来显示手机播放器的客户端显示歌词的界面,和字典 //    创建不可变字典 NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"zhangsan",@"name",@"18",@"age", nil]; dic = @{@"name":@"

#在蓝懿学习iOS的日子#Day7

今天学习内存管理的内容,比较抽象,应用的不是很多,但还是要理解,那现在我就来回顾一下,学习的内容吧! 一.id:任意对象 self:调用自身类 super:引用父类本身的属性 二.内存管理 ARC:自动内存管理 MRC:手动内存管理 1.内存计数机制:内存计数表示当前对象被引用的次数,如果引用次数为0 则对象会从内存中释放掉 retain会对内存计数+1 release会对内存计数-1 2.retain(strong)assign(weak)copy对set方法的影响: retain:两件事1.

#在蓝懿学习iOS的日子#Day5

由于昨天学习内容比较多,相似度比较大,难以区分,今天刘国斌老师给我们 做了巩固,为了更好地理解面向对象, 我们先是讲了在没有运用面向对象讲了如何让一个有一组僵尸的图片移动,感觉就像把人分解的动作画在一个本子里,在翻动本子的同时,人就慢慢地动起来了,感觉用面向对象的方式,把一个对象的属性和方法,封装到一个类里面,然后在在ViewContrller.m里可以直接调用类的属性及方法,感觉条理分明,更多的东西不会杂乱无章,变得有章可循. 接着我们讲了我们要创建一个类,点击command+N可以创建一个类

#在蓝懿学习iOS的日子#第七个练习日

复习这两天学习的内容 动画 //    frame  bounds  alpha  背景颜色  center  transform(转换)    UIImageView* iv =[[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];    iv.image = [UIImage imageNamed:@"8.jpg"];    [self.view addSubview:iv];    //NO.1旋转渐变