Axure設計:制作iOS列表左滑菜單效果

7 評論 16592 瀏覽 79 收藏 6 分鐘

該效果是模仿iOS微信界面中,左滑列表時顯示菜單項的效果,使用的都是Axure中常用的組件,原理是通過控制動態面板的坐標來移動面板并顯示菜單。本文僅適用于具有一定Axure使用經驗的用戶閱讀。

Axure版本:8.0

制作步驟為:

添加中繼器–>添加動態面板–>添加選項菜單–>綁定事件

1.添加中繼器

1)在頁面中添加中繼器控件,并設置中繼器綁定數據,添加后默認效果如下圖,如果不熟悉中繼器的使用方法,請參考我的其他文章《Repeater(中繼器)控件的用法》;

此時,預覽效果如下:

2.添加動態面板

1)打開中繼器編輯界面,全選所有的組件,點擊右鍵將其轉換為動態面板,并命名為panelList,這樣轉換的目的是動態面板可以響應左滑的動作,如下圖所示:

3.添加選項菜單

下面添加選項菜單,以下僅以添加一個刪除菜單為例進行說明。

1)在中繼器編輯窗口中,添加一個矩形組件并設置好樣式,效果如下:

2)右鍵點擊該矩形組件并將其轉換為一個動態面板,命名為panelOption,并將面板設置為隱藏,如下:

4.添加事件

該步驟是最核心的環節,整體左滑效果都是在這個環節中實現的。

1)在中繼器編輯窗口中,為panelList添加左滑事件,滑動時讓panelList的x坐標相對于當前位置向左移動64px,效果如下:

注意:x坐標向左移動的距離需要與panelOption的寬度相等。

2)此時預覽原型圖,左滑列表已經可以看到動態面板左滑的效果,如下:

3)繼續為panelList面板的左滑事件添加動作,動畫顯示panelOption,如下:

4)再次預覽,已經出現期望的效果,如下圖:

5)至此,左滑顯示菜單的功能以實現,但菜單無法隱藏,下面還需要添加右滑隱藏菜單的功能;

6)為panelList添加右滑事件,當向右滑動結束時panelList的x坐標相對于當前位置向右移動64px,效果如下:

注意:此時的當前位置是panelList已經左滑過去的位置,即位置(-64,0)。

7)再次預覽,右滑就可以隱藏菜單了。

5.進階內容

細心的讀者可能會發現,按照上述方法制作的滑動效果是有瑕疵的,即如果連續左滑或者連續右滑,panelList會一直向左或向右移動,這顯然跟實際的效果是有偏差的。以下內容將介紹如何避免這種情況發生,當然如果不追求完美的小伙伴可以不用考慮這個章節的內容哦。

1)只要在面板滑動時添加一個條件限制左滑或右滑就可以了,方法如下:

即:

在panelList的“向左滑動結束時”添加條件,設置只有當面板的x坐標等于0時才可以向左滑動;

同理,在panelList的“向右滑動結束時”添加條件,設置只有當面板的x坐標不等于0時才可以向右滑動。

2)上述條件設置完成后,再次預覽,發現就只能向左或向右滑動一次啦。

 

本文由 @互聯科技 原創發布于人人都是產品經理。未經許可,禁止轉載。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 只有左滑,沒有刪除的效果嗎?

    回復
  2. 不曉得為啥 操作步驟應該都對,但是移動后刪除按鈕還是不顯示

    來自上海 回復
  3. 確實不錯 收藏

    來自上海 回復
  4. 酷酷的

    來自上海 回復
  5. 新人可以看看,分享不錯

    來自廣東 回復
  6. 先收藏,用到時再扒出來看 ??

    來自廣東 回復
    1. 哈哈哈,一樣

      回復