计算机组成原理知识点速记
2019-4-19 liuyingcong 其它
推荐一个原型制作工具墨刀
最近一周都是在商量新产品的功能和制作简易的产品原型,这边我用的墨刀来进行原型的制作
在墨刀,你既可以创建移动端项目(iPhone/Android)、平板项目、也可以创建Web/电视项目、Watch项目,并可以自定义尺寸,为各种屏幕创建原型。
登陆墨刀之后,点击“新建项目”即可。
当然,也可以选择“从模板中创建项目”。
鼠标悬浮在模板上方,点击“使用模板”,就能创建该模板项目。
创建好项目后,进入到工作区
1.添加页面
添加同级页面:选中一个页面,再点击页面列表顶部的「添加新页面」,便可以新建该页面的同级页面。
添加子级页面:鼠标悬浮某页面上,点击「...」展开更多按钮,单击「添加子页面」即可为该页面添加子级页面。目前最多支持创建7级页面。
2.修改页面名称
双击修改页面名称:可使用“数字”+“页面功能”方式命名,既便于页面识别,又可弥补多级列表演示时的不足,更清晰地展示页面逻辑关系。<> /p
3.调整页面顺序
拖拽调整页面顺序:拖动某页面在页面列表上下移动位置即可。如果将页面 A 移动为页面 B 的次级页面,直接拖拽 A 至 B 区域处即可。
4.复制/转移/删除页面
鼠标悬浮某页面,页面名称右侧会显示「...」更多按钮,点击更多按钮展开「创建副本」、「移动到」以及「删除」的按钮。
5.编辑页面式样
在右侧的“页面设置面板”,你可以选择页面是“竖屏”还是“横屏”演示,可以修改背景颜色。
可以选择是否显示“布局”,并可以修改“列数”/"间隔"/“尺寸”。
可以选择是否显示“网格”,并可以调节网格大小。
可以查看当前页面链接数,并在这里一键删除。
6.添加组件和图标
在最右的设置面板左侧里有“组件”、“我的组件”、“图标”库,点击即可打开相应的素材库。
组件(官方组件)库:墨刀官方提供丰富的组件库,除了基础组件,还有苹果的 iOS, 谷歌的Material design, 微信的 WeUI,蚂蚁金服的 Ant Design, Windows 10 等多套组件库。这些都可以直接使用,画原型效率大大提升。
我的组件:你自定义的组件库。
图标:覆盖各领域的图标,来自 Font Awesome, Material Design 和墨刀图标系列。
墨刀目前有两种方式添加组件/图标到画布上:
1 双击组件/图标
2 拖拽组件/图标到画布
对于左侧(在“推荐”模式下)的“快捷组件”来说,还有第三种添加方式:按住对应的快捷键然后鼠标画出。比如画“长方形”组件,就按住“R”。至于其他组件用什么快捷键,鼠标悬浮在“快捷组件”上就可以看到啦!
7.编辑组件属性
选中组件,右侧便会呈现出组件的设置面板。
在面板里可以编辑组件的各种属性,比如位置、大小、颜色、透明度、阴影、动效等等。
选中多个组件,可以编辑它们的布局方式,比如“左对齐”、“右对齐”、“居中对齐“、“水平等间距”、“垂直等间距”…
利用好这些功能就能简单的绘制一个原型满足日常需求了
标签: 原型制作工具简单的功能介绍
lnmp服务器源码编译
lnmp服务器源码编译mysql修改用户密码的方法及命令
2019-4-17 dingshangchao 数据库
mysql修改用户密码的几种方法标签: 数据库
纯css多级下拉菜单 可以遮住表单 支持IE6
外国人写的纯css多级下拉菜单,可以遮住表单,支持IE5.5, IE6, IE7, IE8, Firefox, Safari(PC), Opera and Google Chrome ...二叉树知识点速记
2019-4-12 liuyingcong 其它
mysql优化篇
mysql优化篇phpstorm常用快捷键
2019-4-12 dingshangchao
常用的phpstorm快捷键汇总runtime的一些其他常见用法
上篇我们利用runtime来实现了按键点击范围的扩大,其实runtime还有许多常见用法,比如:动态获取类名,动态获取类的成员变量,动态获取类的属性列表,动态获取类的方法列表,动态获取类所遵循的协议列表,动态添加新的方法,类的实例方法实现的交换,动态属性关联,消息发送与消息转发机制等。下面就介绍一些常见的用法
1.获取类名
动态的获取类名是比较简单的,使用class_getName(Class)就可以在运行时来获取类的名称。class_getName()函数返回的是一个char类型的指针,也就是C语言的字符串类型,所以我们要将其转换成NSString类型,然后再返回出去。下方的+fetchClassName:方法就是我们封装的获取类名的方法
2.获取成员变量
下方这个+fetchIvarList:这个方法就是我们封装的获取类的成员变量的方法。当然我们在获取成员变量时,可以用ivar_getTypeEncoding()来获取相应成员变量的类型。使用ivar_getName()来获取相应成员变量的名称。下方就是对获取成员变量的功能的封装。返回的是一个数组,数组的元素是一个字典,而字典中存储的就是相应成员变量的名称和类型。
3.获取成员属性
上面获取的是类的成员变量,那么下方这个+fetchPropertyList:获取的就是成员属性。当然此刻获取的只包括成员属性,也就是那些有setter或者getter方法的成员变量。下方主要是使用了class_copyPropertyList(Class,&count)来获取的属性列表,然后通过for循环通过property_getName()来获取每个属性的名字。当然使用property_getName()获取到的名字依然是C语言的char类型的指针,所以我们还需要将其转换成NSString类型,然后放到数组中一并返回。
4.获取类的实例方法
接下来我们就来封装一下获取类的实例方法列表的功能,下方这个+fetchMethodList:就是我们封装的获取类的实例方法列表的函数。在下方函数中,通过class_copyMethodList()方法获取类的实例方法列表,然后通过for循环使用method_getName()来获取每个方法的名称,然后将方法的名称转换成NSString类型,存储到数组中一并返回。
5.动态添加方法实现
下方就是动态的往相应类上添加方法以及实现。下方的+addMethod方法有三个参数,第一个参数是要添加方法的类,第二个参数是方法的SEL,第三个参数则是提供方法实现的SEL。稍后在消息发送和消息转发时会用到下方的方法。下方主要是使用class_getInstanceMethod()和method_getImplementation()这两个方法相结合获取相应SEL的方法实现。下方的IMP其实就是Implementation的方法缩写,获取到相应的方法实现后,然后再调用class_addMethod()方法将IMP与SEL进行绑定即可。
6.方法实现交换
下方就是讲类的两个方法的实现进行交换。如果将MethodA与MethodB的方法实现进行交换的话,调用MethodA时就会执行MethodB的内容,反之亦然。
9种常见中国传统纹样
2019-4-4 zhenggaoyun 视觉设计
9种常见中国传统纹样