美文网首页
Framerjs 挖坑笔记 No.1

Framerjs 挖坑笔记 No.1

作者: wangdy | 来源:发表于2016-08-28 21:57 被阅读154次

    由于一些不可抗力,必须开始使用 Framerjs 这个难缠的小妖精了~为了辅助记忆 + 方便回头查阅,故将制作步骤记录下来。

    第一步肯定不能做太难的,我就从最简单的模型开始尝试。制作一个滚动视图,内部插入三个当滚动到顶部时可以固定住的 titlebar。这里是完成的效果 http://share.framerjs.com/qo8gjsp4l9e2/

    stickyheader (00.00.00.000).gif

    ps:有什么可以直接录屏成 GIF 的软件捏?找了半天没找到好用的...

    开始码起来~创建一个状态栏

    statusbar = new Layer
        width: 750
        height: 40
        image: "images/status.png"
    

    这句的意思是:创建一个新的图层,名字就叫做“statusbar”,它的宽度是 750px,高度是 40px,放一张图片在这个图层里,图片的位置是images文件夹下的status.png这个文件。

    扯一句:framer 现在加入了 Autocode 功能,创建图层,修改属性这些变得非常简单,但这些本来就不难,正真难写的东西,却又偏偏无法 “autocode” 。这或许就是代码这东西的不可替代性吧。

    好,继续。创建一个滚动视图。

    scrollview = new ScrollComponent
        y: 40
        width: 750
        height: 1294
        backgroundColor: "fff"
        scrollHorizontal: false
    scrollview.contentInset = bottom:98
    

    这句话的意思是:创建一个滚动视图,叫做scrollview ,这个视图距离屏幕顶部40px,宽度750px,高度1294px,背景颜色是白色,禁用掉水平方向的滚动。最后设置一个距离滚动视图底部98px的高度(为了不被tabbar挡住内容)

    list = new Layer
        image: "images/list.png"
        width: 750
        height: 2794
        parent: scrollview.content
    

    设置一个新的图层,叫做“list”,里面放上图片,高度750px,宽度2794px,设置父图层为“scrollview.content”(这里的content,是前面建立“ScrollComponent”时,带有的一个属性,每一个“ScrollComponent”都会有默认的“content”现在要做的就是把新建好的list视图嵌入到ScrollComponent 的 content视图下,这样list这个图层就可以滚动了~)

    bannerA = new Layer
        width: 712
        height: 418
        y: 234-40
        x: 19
        image: "images/banner1.png"
        parent: list
    

    上面这部分是想把“banner”单独布局出来,可能以后有空可以做下page的切换。大意同上。

    最后放上tabber。完成布局。

    tabber = new Layer
        width: 750
        height: 98
        y: 1236
        image: "images/tabber.png"
    

    至此,滚动视图完成。

    那如何制作 stickyheader 呢?官方有一个例子来教如何制作。不过流程稍显复杂(但也有优势)。我这里记录下一个别人写的 modules,使用起来也很方便。放上Github传送门 https://github.com/72/StickyHeaders-for-Framer,按照上面的方法来完成 stickyheader 的制作

    下载好后,将上面写好的代码保存一下,将下载下来的文件夹里有一个“StickyHeaders.coffee”的文件,拷贝,黏贴在原型文件的“modules”文件夹下。

    回到framer。

    首先,需要在代码的顶上加上一句话

    {StickyHeaders} = require "StickyHeaders"
    

    这句就不是 coffeescript 的语句了,所以打的时候会发现没有代码提示了 =_=,这句话的大概意思是,加载 “StickyHeaders”这个 module,到变量“StickyHeaders”里

    接着,放上三个需要固定的图层,我这里就是下面这三个。

    healthtitle = new Layer
        y: 642-40
        width: 750
        height: 112
        image: "images/health.png"
        parent: list
        name: "StickyHeader"
    
    focustitle = new Layer
        y: 713*2-40
        width: 750
        height: 112
        image: "images/focus.png"
        parent: list
        name: "StickyHeader"
    
    happinesstitle = new Layer
        y: 1105*2-40
        width: 750
        height: 112
        image: "images/happiness.png"
        parent: list
        name: "StickyHeader"
    

    这里的图层设置属性并没有和上面有什么不同,摆好位置插好图片后,唯一最关键的是记得要写“name”这个属性,这是要告诉程序,这个东西是我要固定的。还有注意这里的“stickyheader”是没有s的。只有这里是不加s的。

    好了,离最终完成只差最后一步,

    StickyHeaders.enableFor scrollview
    

    当当当完成

    相关文章

      网友评论

          本文标题:Framerjs 挖坑笔记 No.1

          本文链接:https://www.haomeiwen.com/subject/naqxettx.html