仿半塘滾動菜單(可拓展UI,總有你想要的效果)

CKSlideMenu 介紹

2017.8.21

最近把這個滾動導(dǎo)航做了一次優(yōu)化,想做到更多的使用場景。

添加了固定模式、下標及title細節(jié)的自定義。

具體使用見下文或者demo

? 開始練手swift,閑來無事,看到半塘的滾動菜單的動畫還是蠻有意思的。所以寫了這個一個東西,效果如下:

SlideMneu01.gif
SlideMenu02.gif

當數(shù)組元素個數(shù)較少時,會固定頂部的滾動視圖,重新布局位置

改為用戶控制是否固定頂部的滾動視圖,這樣似乎更加人性化。

/// 是否是固定型菜單(不需要修正滾動)
    var isFixed:Bool = false
SlideMenu03.gif
1.主要屬性
    //MARK: - 成員變量
    /// 是否是固定型菜單(不需要修正滾動)
    var isFixed:Bool                = false
    
    /// 是否懶加載子控制器 (有些用戶想要滾動到對應(yīng)視圖才執(zhí)行加載動作,所以添加了這個屬性)
    var lazyLoad:Bool               = true
    
    /// 選中顏色 (在不設(shè)置下標顏色的時候,會此為下標的顏色)
    var selectedColor:UIColor       = UIColor.red
    
    /// 未選中顏色
    var unSelectedColor:UIColor     = UIColor.black
    
    /// 下標寬度 (在titleStyle 為normal時有效)
    var indicatorWidth:CGFloat      = 30 
    
    /// 下標高度
    var indicatorHeight:CGFloat     = 2 
    
    /// 下標距離底部距離
    var bottomPadding:CGFloat       = 0
    
    //伸縮動畫的偏移量 在indicatorStyle = stretch是生效
    var indicatorAnimatePadding:CGFloat = 8.0
    
    /// 標題字體
    var font:UIFont                 = UIFont.systemFont(ofSize: 13)
    
    /// 下標樣式
    var indicatorStyle:SlideMenuIndicatorStyle = .normal
    
    /// 標題樣式
    var titleStyle:SlideMenuTitleStyle = .normal
    
    ///bodyScrollView的父視圖,默認為SlideMenu的父視圖
    weak var bodySuperView:UIView?
    
    ///bodyScrollView的frame
    var bodyFrame:CGRect = CGRect.zero
2.樣式
enum SlideMenuTitleStyle {
    case normal             //默認
    case gradient           //顏色漸變
    case transfrom          //放大
}

enum SlideMenuIndicatorStyle {
    case normal             //常規(guī)
    case followText         //跟隨文本長度
    case stretch            //伸縮  (推薦半塘效果)
}
3.使用方法
let titles = ["今天","速度100","是啊","測試機","水電","今天","速度","是啊","今天","速度","是啊"]
    var arr:Array<UIViewController> = []
    for _ in 0 ..< titles.count {
        let vc = CKChildViewController()
        self.addChildViewController(vc)
        arr.append(vc)
    }
    let slideMenu = CKSlideMenu(frame: CGRect(x:0,y:64,width:view.frame.width,height:40), titles:titles, childControllers:arr)
    slideMenu.titleStyle = .gradient
    slideMenu.indicatorStyle = .followText
    slideMenu.unSelectedColor = UIColor.gray
    slideMenu.bottomPadding = 4
    slideMenu.indicatorHeight = 2
    slideMenu.bodySuperView = view
    slideMenu.bodyFrame = CGRect.init(x: 0, y: 104, width: view.frame.width, height: view.frame.height - 104)
    //slideMenu.font = UIFont.systemFont(ofSize: 12)
    view.addSubview(slideMenu!)

上述屬性均可設(shè)置來滿足不同的效果,歡迎指正出現(xiàn)的問題。謝謝~
代碼地址:https://github.com/90ck/CKSlideMenu
<-如不能滿足需求,可聯(lián)系我討論 QQ:907856372->

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,037評論 4 61
  • 翻譯自“Auto Layout Guide”。 1 入門 1.1 理解自動布局 自動布局根據(jù)視圖層級結(jié)構(gòu)中視圖上的...
    lakerszhy閱讀 3,916評論 3 26
  • 夜來香 (文/亦濃) 月下花兒都入夢 唯有夜來香 獨自晚風歌唱 她顧自芬芳 不知道遠方 有個不眠的人兒 為她牽腸 ...
    開在夜里的花兒閱讀 597評論 16 21
  • 因為朱莉和皮特的離婚事件引發(fā)的戀愛、婚姻大討論熱潮十分火熱,由此引發(fā)各大公眾號開始頻頻推送戀愛、結(jié)婚的文章,或是經(jīng)...
    撒瘋的小燕子閱讀 672評論 1 0
  • 時間過得飛快,轉(zhuǎn)眼這已是我們走過的第二個年頭,從去年的周年紀念起,我便決定每年寫一篇文章回顧我們這一年所經(jīng)歷的值得...
    hannah徐閱讀 1,397評論 2 6

友情鏈接更多精彩內(nèi)容