亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS模仿QQ側邊欄的實現方法實例

2019-10-21 18:42:50
字體:
來源:轉載
供稿:網友

前言

新版QQ在UI方面做了不少更新,其中一個比較炫酷的效果就是其側滑導航欄。雖然這種UI已經是被模仿來模仿去爛掉牙了,雖然有統計說這種設計的用戶體驗并不好。但是我本人還是非常喜歡這種效果的,下面就來一起看看詳細的實現方法吧。

分析:QQ側邊欄都用了哪些手勢,有哪些效果?

  • QQ的主頁是個UITabbarController,暫且稱為MainVc左側邊緣添加的手勢為邊緣手勢UIScreenEdgePanGestureRecognizer
  • 當邊緣手勢滑動到屏幕中間時判斷MainVc移動的距離超過屏幕中間,超過就顯示側邊欄,沒超過會自動歸位。
  • MainVc移動的時候會有一層黑色的遮罩,遮罩的透明度和MainVc移動的距離有關。
  • 當側邊欄出現的時候,此時MainVc添加的手勢更換為平移手勢UIPanGestureRecognizer。判斷MainVc移動的距離和第二步一樣。
  • 添加的手勢和系統的邊緣手勢沖突如何處理。
  • 當側邊欄隱藏的時候,給MainVc一個很大的速度,會立即顯示側邊欄。當側邊欄出現的時候,給側邊欄一個很大的速度,會立即顯示MainVc。

ios,qq側邊欄,仿qq側邊欄,側邊欄

層級關系如上圖:MainVc 在側邊欄 上面,只需要添加手勢來控制側邊欄的顯示與隱藏即可。

代碼

 [self addChildViewController:self.leftVc]; [self addChildViewController:self.mainVc];   [self.mainVc didMoveToParentViewController:self];   [self.leftVc didMoveToParentViewController:self];//添加屏幕邊緣平移手勢 [self.mainVc.view addGestureRecognizer:self.pan1];   //添加平移手勢 [self.mainVc.view addGestureRecognizer:self.pan2];   //添加點擊手勢 [self.mainVc.view addGestureRecognizer:self.tap];

關于手勢的處理,模擬一個側滑的臨界速度,姑且定位1000.

#pragma mark---手勢處理-(void)screenGesture:(UIPanGestureRecognizer *)pan{ //移動的距離 CGPoint point = [pan translationInView:pan.view]; //移動的速度 CGPoint verPoint = [pan velocityInView:pan.view]; self.mainVc.view.lx_x += point.x; //邊界限定 if (self.mainVc.view.lx_x >= MAXLEFTSLIDEWIDTH) {  self.mainVc.view.lx_x = MAXLEFTSLIDEWIDTH; } if (self.mainVc.view.lx_x <= 0) {  self.mainVc.view.lx_x = 0; } //蒙版的陰影限定 self.maskView.alpha = self.mainVc.view.lx_x /MAXLEFTSLIDEWIDTH; if (pan.state == UIGestureRecognizerStateEnded) {  //判斷手勢  if (pan == self.pan1) {   if (verPoint.x > MAXSPEED) {     [self showLeftVc];   }else{    if (self.mainVc.view.lx_x >= Device_Width/2) {     [self showLeftVc];          }else{           [self hideLeftVc];     }   }  }else{   if (verPoint.x < - MAXSPEED) {         [self hideLeftVc];   }else{    if (self.mainVc.view.lx_x >= Device_Width/2) {          [self showLeftVc];          }else{           [self hideLeftVc];         }   }  }      }   [pan setTranslation:CGPointZero inView:pan.view];}

關于添加的手勢和系統的邊緣手勢沖突的問題,解決如下:

在子類化UINavigationController

- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.navigationBar.translucent = YES; self.navigationBar.barTintColor = LXMainColor; self.interactivePopGestureRecognizer.delegate = self;}#pragma mark--防止與添加到tabbar的手勢沖突---(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{ if (self.childViewControllers.count <= 1) {  return NO; } return YES;}

發現QQ的二級頁面添加了全屏手勢,所以也把UINavigationController+FDFullscreenPopGesture.h添加了進去,發現原來沖突的手勢也不沖突了。

效果圖:

ios,qq側邊欄,仿qq側邊欄,側邊欄

demo地址:仿QQ側邊欄

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品福利在线观看网址| 91久久国产精品| 国产69精品久久久久9| 国语自产精品视频在免费| 日韩精品视频在线观看免费| 国产亚洲一区二区精品| 亚洲激情视频网站| 激情亚洲一区二区三区四区| 欧美高清不卡在线| 久久99国产精品久久久久久久久| 日韩激情在线视频| 亚洲最大在线视频| 日韩欧美有码在线| 精品国产精品自拍| 一区二区中文字幕| 国产精品一区二区电影| 国产日韩欧美中文| 在线亚洲欧美视频| 久久亚洲精品网站| 国产欧美亚洲视频| 日韩一区二区精品视频| 欧美性xxxxx极品| 国产成人免费av电影| 久久6精品影院| 欧美日韩国内自拍| 国产精品极品美女粉嫩高清在线| 国产精品第100页| 欧美在线视频一二三| 国产精品久久久久久久av电影| 人体精品一二三区| 国产精品久久久久久av下载红粉| 亚洲桃花岛网站| 中文字幕视频在线免费欧美日韩综合在线看| 欧洲成人在线视频| 欧美性videos高清精品| 亚洲女人被黑人巨大进入| 亚洲情综合五月天| 午夜精品久久久久久久久久久久| 日韩av在线高清| 91干在线观看| 日本成人在线视频网址| 日韩精品视频在线免费观看| 久久久亚洲影院你懂的| 亚洲欧洲自拍偷拍| 国模视频一区二区| 欧美日本啪啪无遮挡网站| 2019中文字幕免费视频| 久久免费视频在线| 色青青草原桃花久久综合| 国产一区二区美女视频| 国产成人一区二区| 91香蕉亚洲精品| 精品久久久999| 亚洲一区美女视频在线观看免费| 欧美超级免费视 在线| 久久综合九色九九| 狠狠躁18三区二区一区| 色偷偷噜噜噜亚洲男人的天堂| 亚洲伊人久久大香线蕉av| 日韩av在线影视| 欧美一级大胆视频| 日韩在线视频线视频免费网站| 亚洲欧美国产精品久久久久久久| 精品五月天久久| 欧美成人亚洲成人| 欧美一区二区三区图| 亚洲成人久久电影| 亚洲一品av免费观看| 欧美日韩国产丝袜另类| 成人精品久久av网站| 在线观看国产精品日韩av| 福利视频导航一区| 亚洲精品电影网在线观看| 国产欧美日韩高清| 国产小视频91| 正在播放欧美视频| 中文字幕视频在线免费欧美日韩综合在线看| 日本欧美黄网站| 欧美日韩美女在线| 一本一本久久a久久精品牛牛影视| 日韩大片在线观看视频| 26uuu亚洲国产精品| 国产精品日韩在线| 国产精品一区二区三区毛片淫片| 久久久这里只有精品视频| 国产欧美日韩中文| 色狠狠av一区二区三区香蕉蜜桃| 欧美视频中文在线看| 亚洲国产精品电影| 97色在线观看| 欧美激情性做爰免费视频| 在线观看欧美www| 成人午夜在线视频一区| 日韩一区二区精品视频| 欧美日韩亚洲精品一区二区三区| 国产成人精品久久二区二区| 91精品啪在线观看麻豆免费| 欧美电影免费播放| 中文字幕亚洲欧美日韩在线不卡| 欧美在线视频一区二区| 久久男人资源视频| 97在线看福利| 日韩美女视频免费在线观看| 欧美天堂在线观看| 久久亚洲一区二区三区四区五区高| 欧美怡春院一区二区三区| 一区二区三区日韩在线| 国语对白做受69| 亚洲精品www久久久| 国产精品久久久久久久久久新婚| 久久99视频精品| 国产91精品久| 欧美精品成人91久久久久久久| 亚洲奶大毛多的老太婆| 国产国语videosex另类| 欧洲午夜精品久久久| 亚洲国产福利在线| 精品人伦一区二区三区蜜桃网站| 欧美电影免费观看电视剧大全| 国产精品久久久久久搜索| 97色在线观看| 欧洲永久精品大片ww免费漫画| 国产精品91视频| 国产成人97精品免费看片| 国产免费观看久久黄| 欧美国产日本在线| 富二代精品短视频| 亚洲影院污污.| 欧美激情女人20p| 亚洲成人激情在线| 综合欧美国产视频二区| 色青青草原桃花久久综合| 国产不卡av在线免费观看| 亚洲国产精品电影在线观看| 亚洲日韩中文字幕| www.欧美精品一二三区| 久久天天躁狠狠躁夜夜躁2014| 国产精品96久久久久久| 亚洲精品一区二区在线| 亚洲女人被黑人巨大进入| 日韩成人在线免费观看| 国模视频一区二区三区| 美女撒尿一区二区三区| 美乳少妇欧美精品| 国产午夜精品一区二区三区| 美女黄色丝袜一区| 国产精品一区二区久久久久| 成人午夜激情免费视频| 国产精品视频成人| 国产在线不卡精品| 欧美激情精品久久久久久大尺度| 尤物精品国产第一福利三区| 欧美激情一区二区三级高清视频| 色综合91久久精品中文字幕| 精品av在线播放| 国内外成人免费激情在线视频| 国产综合久久久久| 欧美精品aaa| 色噜噜久久综合伊人一本| 91久久嫩草影院一区二区| 92版电视剧仙鹤神针在线观看| 国产日产欧美精品| 国产欧美中文字幕| 中文字幕一精品亚洲无线一区|