IOS中左右兩側導覽列的簡單實現

來源:互聯網
上載者:User

行動裝置 App左側導覽列的元素的出現,應該是在去年年中時候,看到大部分的應用實現從上下側tab到左側menu的演化。

左側導覽列設計的理念的有一點說是,減少行動裝置 App的介面雍容,後來發現在web應用中也開始大量出現該設計,比如我常用的豆瓣FM,

它是類似於用了左側抽屜的設計。

對於一般概念的抽屜概念,Andriod倒是早有SlidingDrawer這個SDK提供的api,不過後期大量實現的都是自訂frame布局或是其他。

在行動裝置 App介面互動的設計上,左側導覽列的出現,有一點來說,確實是比傳統的上下選項卡切換相對來的新奇,控制項布局上空間的減少。

作為一個閑的蛋疼的人,以至於我早期也有打算把我們公司的應用導航上做一個視覺重構。

但是後來考慮到我們應用面向的使用者年齡層,以及應用在使用者中側重點的問題,也就沒做改動。

因為對於30歲以上的使用者來說,習慣性以及傳統的守舊思想。

對於一些時尚型,科技型,牛逼型,社交類扥應用,倒是可以做一些推陳出新的新鮮設計。

因此,我個人的考慮是,在兩種情況下,可以考慮用用,

第一種,在對於有兩級以上的切換欄導航。

第二種,閑的蛋疼

先畫個簡單的圖說明下

假設1,2,3,4,5是一級切換菜單;

T1,T2,T3。。是二級切換菜單。

若是未使用下冊切換tab菜單,由於中間顯示內容的空間就會比較狹小。此時就可以考慮使用左側功能表列。

。。。

大致模型就是如。

可以分別實現:左側菜單,右側菜單,左右兩側菜單。

大致說下原理和步驟:

1.將SideNav設計成一個ViewController控制項,用來管理控制3個ViewController:LeftVC,RootVC,RightVC;也算一種常見的思路,比如Tabviewcontroller其實也差不多這樣,可以理解是一個管理ViewController的controller控制器。

2.Setter入內容,左,右側導覽列控制器。同時需要重設內容頁也就是rootViewController的NavBar,比如,只是SetLeft,那麼只會顯示左側按鈕。

3. 左側右側菜單出現的實現:因為SideNav本身也是一個ViewController,那麼他本身內建一個View,在預設set了RootViewController時(或者說是內容ViewController),

顯示時,將RootViewController的View依附到SideNav的View上面;在點擊顯示左側功能表列時,將LeftVC中的View插入添加到SideNav的View的第一層子視圖,rootView就成了第二層,然後在改變rootView的原點左邊,整體往右邊移動。顯示右側導覽列思路一樣。

4.點擊左側菜單控制介面的某個功能表按鈕跳轉切換,以前看到的一個代碼例子類似是使用了全域控制器的思路,直接根據Appdelegate拿到SideNavVC的對象來操作,

也可考慮使用委託來實現。

5.手勢,細化和改進。

該demo部分是資料來源於互連網,在早期的一個應用中用到過,這個是進過簡化的簡單修改的版本

:1.修改了可以設定單側或兩側欄均可實現,

    2.兩側菜單可見地區的自訂。

    3.修改部分手勢實現代碼

     4.製造了一些新的bug。

個人建議:整體demo的參考可以分兩部分:1,基本模型切換;2,手勢動畫效果的最佳化添加。

demo:不上種,菊花萬人捅。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.