严格来说,这并不是一篇关于前端开发的文章,因为涉及到的知识非常浅。这只是一个向设计狮们分享的小经验,只是其中用到了一些前端内容。

最近接了个私活,了解到一个初创公司正在高价悬赏Logo(主要用于APP图标),我便投稿试了试,结果真的被选中了,得到了我认为远超Logo本身价值的奖金(看来跟着拿到投资的初创公司混真的有肉吃啊)。闲话不表,设计完Logo之后我灵机一动,用iOS系统做了一个APP图标真实效果预览图,一起发给了甲方。

我们假设刚做好的Logo是下面这样的(这是样例图标,用我开发的UWP应用《纸书科学计算器》的Logo代替,色调就妥妥地用知乎蓝吧):

本文的最终目标是把它煞有介事地放在iOS的主屏幕上,效果如下:

如果你再拍一个实物图出来,就可以充当这个图标的效果图了(手机拍得丑勿喷):

总之这是一个让你告别P图和套Mockup的简单方法。不用真的编译出这个iOS应用,你需要做的,只是用电脑搭建一个本地服务器,再做一张非常简单的网页即可。然后在iOS上用Safari打开这张网页,将网页快捷方式发送到主屏幕,就达到这个效果啦。

一、搭建本地静态服务器

本文以Windows系统为例。Mac系统可以用Apache,详情请百度,并不复杂的。所以Mac用户可以跳过本节。Windows虽然也可以用Apache,但是用自带的IIS会更加方便。

我以前发过一篇关于搭建本地IIS服务器的文章,也可以看这里:Web前端页面的浏览器兼容性测试心得(一)搭建测试用本地静态服务器。其实本文就是在介绍本地静态服务器的实际用途之一,看看都能有哪些不可思议的操作!

作为.NET全家桶成员,IIS经常和后端的ASP.NET结合起来建站,但在这里我们不需要配置ASP.NET。只用几个步骤,便可在电脑上开启IIS服务。

以下步骤以我电脑上的Win10系统为例,和Win8、Win7上的操作都是差不多的:

1.打开控制面板,进入“程序与功能”:

2.点击“启用或关闭Windows功能”:

3.参照图中红色圈出部分,勾选需要的组件。需注意:不能只勾选最上一级选项,必须从最底层选项开始勾选,直至所选组件全部显示为“√”,如图中所示。


4.点击“确定”按钮,Windows开始添加IIS功能,这会持续几分钟,然后就可以使用IIS功能了。

5.在开始菜单的“Windows管理工具”目录下,找到并打开“Internet Information Services(IIS)管理器”(建议把该快捷方式固定在开始菜单,以后打开会更方便)。

6.在界面左侧列表找到自己的主机那一项,右键,选择“添加网站”:

7.这时会弹出“添加网站”的窗口,我们先不要管它。我们打开命令提示符(cmd),输入“ipconfig”并回车,即可查看自己本机在当前局域网内的IP地址(注意是IPv4地址,而且以“192.168”开头)。

8.回到“添加网站”窗口,如下图所示填写网站名称、设置服务器根目录所在路径(根目录选在哪里看你喜好),并填入本机IP地址作为服务器的访问地址,点击确定。

9.这时,我们发现网站已经建立并启动了:

二、新建静态页面

有了本地服务器,我们就可以放静态网页进去了。只要你的iOS设备和电脑连接着同一个wifi,iOS设备就可以访问电脑上的服务器。

1.在电脑上,我们进入刚刚设置好的服务器根目录下(我的是“C:\server-root”),在这里添加一个主页。新建一个文本文档,输入以下代码并保存,把文件名改为“index.html”。

<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="apple-touch-icon" href="icon256.png" /> <title>应用名称</title> </head>
<body>
<p>OK!</p>
</body>
</html>

(注:“应用名称”处应改为你需要填写的应用名称)

2.然后再把设计好的Logo做一份尺寸为256px*256px的应用图标,保存为png格式(尺寸一定要对),放在和index.html同一个目录下,改名为“icon256.png”:

3.在浏览器中输入你本机的IP地址,看看主页是否成功显示:

4.看来我们已经成功了!现在就可以在你的iOS设备上打开Safari,输入该IP地址,在确认能正常访问之后,点击右上方的分享按钮,再点击“添加到主屏幕”:

接下来按一下home键,就会发现大功告成了:

下面简单介绍下原理,最关键的是HTML里的这一句代码:

<link rel="apple-touch-icon" href="icon256.png" />

这句声明了如果Safari将网页快捷方式发送到主屏幕,就以“icon256.png”作为图标。但是,在APP如此丰富的现在,好像没什么人这样做了。

还好,这句的功能可不止这个。有了这个link元素,如果你收藏该网页,在个人收藏夹中还会显示这个图标,这个应用场景就常见多了:

可能本文对于设计狮来说还是有点极客,不知道接受度如何。不管怎样,祝设计愉快,甲方爽快~

APP图标设计小技巧:在iOS上快速获得APP图标的真实预览图的更多相关文章

  1. IOS开发之代理的设计小技巧

    1.关于代理对象的设计小技巧 在设计一个类,需要通过代理和协议来从外部获取需要的动态的数据.那么在这里设计使用代理会有两种方法. <第一种方法> 也是比较常见的: 在你设计的类中,声明一个 ...

  2. 超强干货,11个灰常实用的AI设计小技巧!

    11个超级实用的AI设计小技巧!涉及到很多的实用操作,纯干货经验总结,灰常值得收藏,赶快转走学起来吧! ​编辑:千锋UI设计

  3. 【转载】Win10桌面图标有小箭头怎么去掉?Win10去掉桌面图标小箭头的方法

    以下文章转载至系统之家 网址:http://www.xitongzhijia.net/xtjc/20190104/146560.html Win10桌面图标有小箭头怎么去掉?Win10去掉桌面图标小箭 ...

  4. 文件批量上传-统一附件管理器-在线预览文件(有互联网和没有两种)--SNF快速开发平台3.0

    实际上在SNF里使用附件管理是非常简单的事情,一句代码就可以搞定.但我也要在这里记录一下统一附件管理器能满足的需求. 通用的附件管理,不要重复开发,调用尽量简洁. 批量文件上传,并对每个文件大小限制, ...

  5. 可拖拽和带预览图的jQuery文件上传插件ssi-uploader

    插件描述:ssi-uploader是一款带预览图并且可以拖拽文件的jQuery ajax文件上传插件.该文件上传插件支持AJAX,支持多文件上传,可控制上的文件格式和文件大小,提供各种回调函数,使用非 ...

  6. MySQL库表设计小技巧

    前言: 在我们项目开发中,数据库及表的设计可以说是非常重要,我遇到过很多库表设计比较杂乱的项目,像表名.字段名命名混乱.字段类型设计混乱等等,此类数据库后续极难维护与拓展.我一直相信只有优秀的库表设计 ...

  7. win7图片只显示图标不显示预览图解决方案

    问题描述: win7上图片只显示图标,不显示缩略图:不管是调节小图.中图还是大图或者其他均不显示:而且这种情况下使用截图工具截下来的图片都不自动带上扩展名:情况如下图: 解决方案: 打开计算机-> ...

  8. 图片上传,支持同步/异步、预览(MVC、uploadify异步提交、js预览、ajaxSubmit异步提交)兼容大部分浏览器,含代码

    图片上传代码,支持同步/异步和图片的预览 主要用了两种方式,可兼容大部分浏览器. 第一种使用uploadify异步上传,上传后返回图片路径显示到页面. 每二种使用ajaxSubmit异步上传,为兼容I ...

  9. Django文件上传三种方式以及简单预览功能

    主要内容: 一.文件长传的三种方式 二.简单预览功能实现 一.form表单上传 1.页面代码 <!DOCTYPE html> <html lang="en"> ...

随机推荐

  1. Hive将txt、csv等文本文件导入hive表

    1.将txt文本文件放置hdfs目录下 2.登录hive并进入到指定数据库 3.创建表 create external table if not exists fun_user_external ( ...

  2. ssm异步上传图片

    1.首先引入jersey   jar包 2.在配置文件中,配置允许上传图片 3.修改增加商品页面 <%@ page language="java" import=" ...

  3. shrink-to-fit(自适应宽度)

    自适应宽度是指当未明白设定容器的宽度(或外边距设为auto)时,在特定的情况下容器的宽度会依据情况自行设定.而设定的结果往往并非我们想要的. W3C规范中描写叙述了几种shrink-to-fit的情况 ...

  4. shell脚本学习总结05--变量与环境变量

    bash中一切变量都是以字符串的形式存储,env命令可以查看与此终端进程相关的环境变量. man bash 查看一个进程的环境变量 1.获得程序的PID,例如Java# pgrep java23492 ...

  5. poj_2486 动态规划

    题目大意 N个节点构成一棵树,每个节点上有一个权重val[i], 从根节点root出发在树上行走,行走的时候只能沿着树枝行进.最多在树上走k步,每第一次到达某个节点j,可以获得val[j]的收益,求从 ...

  6. Django学习笔记第五篇--实战练习一--查询数据库并操作cookie

    一.启动项目: django-admin start mysite1 cd mysite1 python manage.py startapp loginapp 根据上文敲命令就可以创建好了一个项目结 ...

  7. 【黑金原创教程】【TimeQuest】【第三章】TimeQuest 扫盲文

    声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...

  8. Python全栈day14-15-16-17(函数)

    一,数学定义的函数 函数的定义:给定一个数集A,对A施加对应法则f,记作f(A),得到另一数集B,也就是B=f(A).那么这个关系式就叫函数关系式,简称函数.函数概念含有三个要素:定义域A.值域C和对 ...

  9. 一个I/O线程可以并发处理N个客户端连接和读写操作 I/O复用模型 基于Buf操作NIO可以读取任意位置的数据 Channel中读取数据到Buffer中或将数据 Buffer 中写入到 Channel 事件驱动消息通知观察者模式

    Tomcat那些事儿 https://mp.weixin.qq.com/s?__biz=MzI3MTEwODc5Ng==&mid=2650860016&idx=2&sn=549 ...

  10. 小程序 Page is not constructed because it is not found.

    如下错误一般发生在点击事件切换页面的时候 解决方式: 在需要切换到的那个页面的js文件中添加Page({ })方法即可解决此问题. Tis:在js文件中输入Page回车,可自动添加Page方法,包括里 ...