1、首先需要遵循代理:UIImagePickerControllerDelegate
2、PS:此方法适配iOS8之后,如果想用UIAlertView,请自己实现
-(void)changeIcon:(UITapGestureRecognizer*)tap
{
/**
* 弹出提示框
*/
//初始化提示框
UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
//按钮:拍照,类型:UIAlertActionStyleDefault
[alert addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"local_takePhoto", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action){
/**
其实和从相册选择一样,只是获取方式不同,前面是通过相册,而现在,我们要通过相机的方式
*/
UIImagePickerController *PickerImage = [[UIImagePickerController alloc]init];
//获取方式:通过相机
PickerImage.sourceType = UIImagePickerControllerSourceTypeCamera;
PickerImage.allowsEditing = YES;
PickerImage.delegate = self;
[self presentViewController:PickerImage animated:YES completion:nil];
}]];
//按钮:从相册选择,类型:UIAlertActionStyleDefault
[alert addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"local_photoChoose", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
//初始化UIImagePickerController
UIImagePickerController *PickerImage = [[UIImagePickerController alloc]init];
//获取方式1:通过相册(呈现全部相册),UIImagePickerControllerSourceTypePhotoLibrary
//获取方式2,通过相机,UIImagePickerControllerSourceTypeCamera
//获取方法3,通过相册(呈现全部图片),UIImagePickerControllerSourceTypeSavedPhotosAlbum
PickerImage.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
//允许编辑,即放大裁剪
PickerImage.allowsEditing = YES;
//自代理
PickerImage.delegate = self;
//页面跳转
[self presentViewController:PickerImage animated:YES completion:nil];
}]];
//按钮:取消,类型:UIAlertActionStyleCancel
[alert addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"local_cancle", nil) style:UIAlertActionStyleCancel handler:nil]];
[self presentViewController:alert animated:YES completion:nil];
}
#pragma mark--------PickerImage完成后的代理方法
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{
//定义一个newPhoto,用来存放我们选择的图片。
UIImage *newPhoto = [info objectForKey:@"UIImagePickerControllerEditedImage"];
NSLog(@"newPhoto :%@",newPhoto);
[iconImageView setImage:newPhoto];
[self dismissViewControllerAnimated:YES completion:nil];
//需要更新服务器上的图片
// [self uploadIcon:newPhoto];
}
4、上传图片到服务器请见:传送门来了
数据库初始化activiti默认采用内存数据库h2,作为本地测试是够了,但是作为测试环境,开发环境和生产环境,是远远不够的,我们需要使用更为强大和灵活的数据库,以下是zip包里提供的数据库创建脚本activiti.db2.create.engine.sqlactiviti.db2.create.history.sqlactiviti.db2.create.identity.sqlactiviti....
之前安装MySQL时大小写是敏感的,结果公司RDS上的生产库中配置是不敏感的,导致不同步,今天需要把开发数据库也修改为大小写不敏感,经过网上搜索,需要修改my.cnf配置文件。第一步:查找my.cnf文件位置1、使用 find / -name "my.cnf"/etc/my.cnf找到my.cnf 文件位于 /etc 目录下。2、vi /etc/my.cnf尾部增加配置lower_case_table_names=1ESC wq 退出并保存。3、重启MySQL停掉...
1. 基础知识移植内核对技术的要求比较高、比较细。1.1 单片机相关的知识栈的作用加载地址、链接地址重定位几个简单的硬件知识串口定时器中断的概念1.2 Linux操作相关的知识Linux常用命令简单的脚本:脚本就是把命令写在一个文件里MakefileGCC编译命令1.3 芯片相关知识能阅读芯片手册(英文)移植最小系统时,涉及的手册内容不多能看懂硬件原理图移植最小系统时,涉及的原理图内容不多2. 驱动程序知识对于只有
这是我总结的51单片机的中断定时器原理,之后会附上附件。第一次发帖,不足之处请多多包含!我总结的文稿画面很花,所以给上个参考,各位不习惯的话,请酌情选择。定时器.jpg (25.83 KB, 下载次数: 196)2017-12-26 22:53 上传参考.jpg (75.2 KB, 下载次数: 96)2017-12-26 23:12 上传目录一、原理:1、对中断和定时器进行初始化:①定时器/计数器...
MD5概念:https://baike.baidu.com/item/MD5/212708?fr=aladdin盐值概念:https://baike.baidu.com/item/salt%E5%80%BC注册:1、生成固定长度的随机盐;2、用户密码加密生成32位16进制字符串;(建议用户的注册密码经过严格的校验,至少输入3类字符,长度至少10位、注册密码有包含大小写字母等等)3、...
CASE WHEN T12.ISPRINT='1' THEN CASE WHEN T.VECENTYPE='3' THEN CASE WHEN T3.PRBNSCOPE_NAME IS NOT NULL THEN T3.PRBNSCOPE_NAME ELSE CRTMIS.GETBNSCOPE(T3.BNSCOP
本人微信公众号,同时本人也是韦东山老师的代理
【USB gadget是什么?】 Linux-USB Gadget 驱动框架(以下简称 Gadget)实现了USB 协议定义的设备端的软件功能。相对于 Linux USB 主机端(Host)驱动而言, Gadget 驱动出现较晚,它出现在2.4.23 以后。Gadget 框架提出了一套标准 API, 在底层, USB 设备控制器(USB Device Controller, UDC)驱动则实现这一套 API, 不同的 UDC (通常是 SOC 的一部分)需要不同...
几天前,我添加多个Python版本,结果发现虚拟环境创建不了。再测试一下pip,发现也不行了,报错如下:然后刚刚也找到了解决方法,如下:
一、设置请求代理,解决跨域manifest.json——源码视图——h5(配置反向代理)"h5" : { "devServer" : { //"port" : 8080, //设置端口号 "disableHostCheck" : true, "proxy" : { "/api" : {// /api重定向 将下方的target拼接到接口的最前面 // 线上接口域名 打包时使用
GD32F103RCT6是全新的通用型32位高性能、低功耗微控制器系列产品,采用ARMR CortexR-M3内核,适用于广泛的应用场景。
最近,发现有一台windows2008R2t服务器,运行DataSnap编程的SERVER服务程序,出现不能远程传递上传、下载文件问题,造成不能及时升级软件问题。 那么从服务器端、客户端、VPN专线连接、服务器代码、客户端代码,逐个找原因,终于找到。是服务器上的SERVER程序末以管理员身份运行。