js可以实现修改用户头像功能吗

JavaScript037

js可以实现修改用户头像功能吗,第1张

在之前的笔记中,讲了如何实现圆形头像,这里接着上一次的笔记,讲一下怎么修改头像(通过图库和拍照方式)。

重点:

流程: 一般在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