iOS-一句代碼為你的項(xiàng)目集成滑動(dòng)菜單

效果圖

SLSlideMenu.gif

demo地址在文章最后

使用說(shuō)明

空白menu,給menu添加子控件可通過(guò)代理方法

    將SLSlideMenu文件夾拖入項(xiàng)目
調(diào)用
   1> #import "SLSlideMenu.h"
   2> [SLSlideMenu slideMenuWithFrame:self.view.frame
                             delegate:self
                            direction:SLSlideMenuDirectionLeft
                          slideOffset:250
                  allowSwipeCloseMenu:YES
                             aboveNav:YES
                           identifier:@"left"];
   或者在viewdidload中:
   [SLSlideMenu prepareSlideMenuWithFrame:self.view.frame
                                 delegate:self
                                direction:SLSlideMenuSwipeDirectionLeft
                              slideOffset:300
                  allowSlideMenuSwipeShow:YES
                      allowSwipeCloseMenu:YES
                                 aboveNav:YES
                               identifier:@"swipeLeft"];
自定義menu子控件:
   1> 遵守協(xié)議<SLSlideMenuProtocol>
   2> 實(shí)現(xiàn)代理方法:將子控件添加到menuView
    - (void)slideMenu:(SLSlideMenu *)slideMenu prepareSubviewsForMenuView:(UIView *)menuView {
    UILabel *lb = [[UILabel alloc] initWithFrame:CGRectMake(20, 50, 100, 30)];
    lb.text = @"自定義控件";
    lb.font = [UIFont systemFontOfSize:12];
    lb.textColor = [UIColor darkGrayColor];
    [menuView addSubview:lb];
   }

在自定義子控件時(shí)
如果一個(gè)方向只有一個(gè)彈窗可根據(jù)direction區(qū)分menu

if (slideMenu.direction == SLSlideMenuDirectionTop) {
    UILabel *lb = [[UILabel alloc] initWithFrame:CGRectMake(10, 50, 100, 30)];
    lb.text = @"自定義控件1";
    lb.font = [UIFont systemFontOfSize:12];
    lb.textColor = [UIColor darkGrayColor];
    [menuView addSubview:lb];
}

if (slideMenu.direction == SLSlideMenuDirectionBottom) {
    UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(70, 200, 100, 40)];
    btn.backgroundColor = [UIColor purpleColor];
    [btn addTarget:self  action:@selector(btnClick) forControlEvents:UIControlEventTouchUpInside];
    [menuView addSubview:btn];
}

如果一個(gè)方向有多個(gè)彈窗,可設(shè)置identifier來(lái)區(qū)分menu

if ([slideMenu.identifier isEqualToString:@"left"]) {
    menuView.backgroundColor = [UIColor yellowColor];
}
if ([slideMenu.identifier isEqualToString:@"swipeLeft"]) {
    menuView.backgroundColor = [UIColor greenColor];
}

接口說(shuō)明

1> 點(diǎn)擊彈出的場(chǎng)景

/**
 * 創(chuàng)建menu視圖隆檀。此方式一般用在點(diǎn)擊彈出的場(chǎng)景恐仑,不支持手勢(shì)滑出。
 *param frame 如果不要蓋住nav 就傳self.view.frame裳仆;如果要蓋住nav就傳CGRectMake(0, 64, screenW, screenH)
 *param delegate 代理 可通過(guò)設(shè)置代理來(lái)配置menu的子控件
 *param direction menu彈出方位歧斟。SLSlideMenuSwipeDirectionRight代表從右邊彈出
 *param slideOffset menu的寬度/高度
 *param allowSwipeCloseMenu 是否允許手勢(shì)關(guān)閉
 *param aboveNav 是否蓋住nav
 *param identifier 標(biāo)識(shí)符 可以通過(guò)設(shè)置進(jìn)行唯一標(biāo)識(shí)
 */
+ (void)slideMenuWithFrame:(CGRect)frame
                  delegate:(id <SLSlideMenuProtocol> )delegate
                 direction:(SLSlideMenuDirection)direction
               slideOffset:(CGFloat)slideOffset
       allowSwipeCloseMenu:(BOOL)isAllow
                  aboveNav:(BOOL)isAbove
                identifier:(NSString * )identifier;

2> 手勢(shì)滑出的場(chǎng)景

/**
 * 配置menu視圖∫耗希可在viewdidload中,此種方式可通過(guò)左滑右滑手勢(shì)呼出滑凉。
 *param frame 如果不要蓋住nav 就傳self.view.frame;如果要蓋住nav就傳CGRectMake(0, 64, screenW, screenH)
 *param delegate 代理 可通過(guò)設(shè)置代理來(lái)配置menu的子控件
 *param direction 手勢(shì)滑出方位咒钟。SLSlideMenuSwipeDirectionRight代表從右邊滑出
 *param slideOffset menu的寬度/高度
 *param allowSlideMenuSwipeShow 是否允許手勢(shì)滑出
 *param allowSwipeCloseMenu 是否允許手勢(shì)關(guān)閉
 *param aboveNav 是否蓋住nav
 *param identifier 標(biāo)識(shí)符 可以通過(guò)設(shè)置進(jìn)行唯一標(biāo)識(shí)
 */
+ (void)prepareSlideMenuWithFrame:(CGRect)frame
                         delegate:(id <SLSlideMenuProtocol> )delegate
                        direction:(SLSlideMenuSwipeDirection)direction
                      slideOffset:(CGFloat)slideOffset
          allowSlideMenuSwipeShow:(BOOL)isAllowSwipeShow
              allowSwipeCloseMenu:(BOOL)isAllowSwipeCloseMenu
                         aboveNav:(BOOL)isAbove
                       identifier:(NSString *)identifier;

github 地址 SLSlideMenu

如果覺(jué)得好用記得星星鼓勵(lì)~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市粗合,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌壤追,老刑警劉巖供屉,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件伶丐,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡肛走,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)庶灿,“玉大人,你說(shuō)我怎么就攤上這事腾誉。” “怎么了利职?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵跷敬,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我西傀,道長(zhǎng),這世上最難降的妖魔是什么拥褂? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任饺鹃,我火速辦了婚禮,結(jié)果婚禮上悔详,老公的妹妹穿的比我還像新娘伟端。我一直安慰自己匪煌,他們只是感情好党巾,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布齿拂。 她就那樣靜靜地躺著,像睡著了一般吗购。 火紅的嫁衣襯著肌膚如雪砸狞。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,166評(píng)論 1 284
  • 那天踱启,我揣著相機(jī)與錄音埠偿,去河邊找鬼。 笑死羽圃,一個(gè)胖子當(dāng)著我的面吹牛抖剿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播愁憔,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼吨掌,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼脓恕!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起秋茫,我...
    開(kāi)封第一講書(shū)人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤肛著,失蹤者是張志新(化名)和其女友劉穎跺讯,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體局荚,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了暂雹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片杭跪。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡挥下,死狀恐怖棚瘟,靈堂內(nèi)的尸體忽然破棺而出喜最,到底是詐尸還是另有隱情瞬内,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布章咧,位于F島的核電站赁严,受9級(jí)特大地震影響疼约,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜程剥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一织鲸、第九天 我趴在偏房一處隱蔽的房頂上張望溪胶。 院中可真熱鬧,春花似錦、人聲如沸采桃。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)肢娘。三九已至呈础,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間橱健,已是汗流浹背而钞。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拘荡,地道東北人臼节。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像珊皿,于是被迫代替她去往敵國(guó)和親网缝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,526評(píng)論 25 707
  • 內(nèi)容抽屜菜單ListViewWebViewSwitchButton按鈕點(diǎn)贊按鈕進(jìn)度條TabLayout圖標(biāo)下拉刷新...
    皇小弟閱讀 46,712評(píng)論 22 664
  • a君是個(gè)很簡(jiǎn)單的人 每天都想著上班下班吃飯睡覺(jué)玩 然而 有一天他發(fā)現(xiàn) 自己原來(lái)是如此輕松的活著 所以 他決定 便繼...
    Kammy1027閱讀 186評(píng)論 0 0
  • 世界并不無(wú)趣蟋定, 只是需要有趣的活法粉臊。 我對(duì)你最大的期望, 就是做一個(gè)快樂(lè)的人驶兜! 在成為多么有能力扼仲,多么卓越犀盟,多么出...
    趙舟舟閱讀 191評(píng)論 1 0
  • 晚風(fēng)吹拂 我站在天臺(tái)邊緣 漫天飛舞的雪花墜落在我的眼前 這片片雪花帶來(lái)冬日的寒意 模糊的記憶不知多少雪花飄落在胸前...
    暖欣如你閱讀 198評(píng)論 0 0