重点:
流程: 一般在APP中,修改头像是最基本的功能之一了。一般是两种方式的修改:从相册选择图片或者拍照。那么这里就来讲一下如何具体实现这个功能。
Step1:点击头像 ->手势(UITapGestureRecognizer)
首先,点击头像。因为头像是直接放在ImageView中的,默认情况下当我们点击头像的时候,头像是不会有任何反应的。因此,我们需要给头像的ImageView添加一个点击事件,方法如下:
Step2:弹出选择提示->提示框(UIAlertController)
通过添加UITapGestureRecognizer(手势),系统就知道了我点击了头像,接着,就可以添加具体的方法来进行操作了。在上一步,我为这个手势的action,selector(选择)了一个方法来执行,即alterHeadPortrait:(注意有冒号的),也就是当我们点击了头像之后,会执行alterHeadPortrait:这个方法:
通过UIAlertController(提示框)这个类,我们创建好了一个提示框,如下:
现在,当我们点击取消(或者点击按钮以外的区域)提示框就会被自动取消掉,并将提示框收起来。
Step3:从相册选择或者拍照选择头像->UIImagePickerController
好了,绕了这么久,终于开始进入主题了,即选择图片或者拍照了。那么现在该肿么办呢?好像毫无头绪的样子。。。
这里就需要通过UIImagePickerController,通过它,我们就可以让我们的APP轻松的实现访问相册或者拍照:
操作UIImagePickerController,需要实现两个协议:
进行相册图片选择或者相机拍照的实现代码如下:
运行效果如图:
Step4:替换头像->大功告成!
现在,我们已经能够打开相册,或者拍照(拍照功能模拟机无法拍照,会报错,只有用真机测试)。
可是问题来了,现在选择了新图片,确定之后,头像还是原来的头像,并没有更新。这是因为我们这里还没有对图片选择完全之后的代理方法进行实现:
大功告成:
需要准备的材料分别有:电脑、html编辑器、浏览器。
1、首先,打开html编辑器,新建html文件,例如:index.html,填写问题基础代码。
2、在index.html中的<script>标签,输入js代码:$('img').attr('src', 'https://www.baidu.com/img/bd_logo1.png')。
3、浏览器运行index.html页面,此时网页上的所有图片都被替换成了指定的图片。
这个东西很多的,给你一些资料,看看吧。http://www.defusion.org.uk/code/javascript-image-cropper-ui-using-prototype-scriptaculous/comment-page-12/
http://thinhunan.cnblogs.com/archive/2006/04/01/DeveloperNotesForPrototype.html prototype
http://space.flash8.net/space/?592455/action_viewspace_itemid_357808.html prototype 分析
http://www.resizeyourimage.com/
http://www.nwhite.net/MooCrop/ 推荐,比较简单,有详细解释和使用方法
http://zeroliu.blogdriver.com/zeroliu/1212817.html
http://bbs.phpchina.com/viewthread.php?tid=49867
http://www.google.cn/search?complete=1&hl=zh-CN&newwindow=1&q=javascript+%E8%A3%81%E5%89%AA%E5%9B%BE%E7%89%87&meta=&aq=f
http://bbs.blueidea.com/thread-2801917-1-1.html