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

JavaScript016

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

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

重点:

流程: 一般在APP中,修改头像是最基本的功能之一了。一般是两种方式的修改:从相册选择图片或者拍照。那么这里就来讲一下如何具体实现这个功能。

Step1:点击头像 ->手势(UITapGestureRecognizer)

首先,点击头像。因为头像是直接放在ImageView中的,默认情况下当我们点击头像的时候,头像是不会有任何反应的。因此,我们需要给头像的ImageView添加一个点击事件,方法如下:

Step2:弹出选择提示->提示框(UIAlertController)

通过添加UITapGestureRecognizer(手势),系统就知道了我点击了头像,接着,就可以添加具体的方法来进行操作了。在上一步,我为这个手势的action,selector(选择)了一个方法来执行,即alterHeadPortrait:(注意有冒号的),也就是当我们点击了头像之后,会执行alterHeadPortrait:这个方法:

通过UIAlertController(提示框)这个类,我们创建好了一个提示框,如下:

现在,当我们点击取消(或者点击按钮以外的区域)提示框就会被自动取消掉,并将提示框收起来。

Step3:从相册选择或者拍照选择头像->UIImagePickerController

好了,绕了这么久,终于开始进入主题了,即选择图片或者拍照了。那么现在该肿么办呢?好像毫无头绪的样子。。。

这里就需要通过UIImagePickerController,通过它,我们就可以让我们的APP轻松的实现访问相册或者拍照:

操作UIImagePickerController,需要实现两个协议:

进行相册图片选择或者相机拍照的实现代码如下:

运行效果如图:

Step4:替换头像->大功告成!

现在,我们已经能够打开相册,或者拍照(拍照功能模拟机无法拍照,会报错,只有用真机测试)。

可是问题来了,现在选择了新图片,确定之后,头像还是原来的头像,并没有更新。这是因为我们这里还没有对图片选择完全之后的代理方法进行实现:

大功告成:

前端技术:tooltip(工具提示) + AJAX

数据库:只要能存储用户信息的数据库就行,问题的关键不是采用什么数据库,而是AJAX,以及tooltip如何配合AJAX,达到题主描述的效果,重点应该是js,监听鼠标,显示内容。上面加上js或是jquery触发事件,用户信息都调用出来,默认是隐藏的,鼠标滑过时触发,原本隐藏的内容显示 ,鼠标滑过某一个编号的时候其他的隐藏。

微信上点赞或评论能显示头像,可以到朋友圈查看点赞头像。具体步骤如下:

1.打开手机,登录微信点击首页里面的“发现”。点击里面的“朋友圈”选项。

/iknow-pic.cdn.bcebos.com/0b7b02087bf40ad190a1d646592c11dfa8ecceca"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/0b7b02087bf40ad190a1d646592c11dfa8ecceca?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/0b7b02087bf40ad190a1d646592c11dfa8ecceca"/>

2.点击朋友圈后,在封面右下角点击自己的头像进入自己的个人空间。

/iknow-pic.cdn.bcebos.com/b7003af33a87e95019afe2c91e385343faf2b4de"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/b7003af33a87e95019afe2c91e385343faf2b4de?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/b7003af33a87e95019afe2c91e385343faf2b4de"/>

3.点击相关的说说,点击查看详情,就可以看到点赞的好友的头像了。

/iknow-pic.cdn.bcebos.com/b21c8701a18b87d6c490baba090828381e30fd41"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/b21c8701a18b87d6c490baba090828381e30fd41?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/b21c8701a18b87d6c490baba090828381e30fd41"/>