真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

IOS中如何實現(xiàn)MMDrawerController第三方抽屜效果-創(chuàng)新互聯(lián)

這篇文章主要介紹了IOS中如何實現(xiàn)MMDrawerController第三方抽屜效果,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

為貴州等地區(qū)用戶提供了全套網頁設計制作服務,及貴州網站建設行業(yè)解決方案。主營業(yè)務為網站建設、成都網站制作、貴州網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

因為剛開年,所以最近公司比較閑,看到以前并不是我接手的項目中有這種抽屜效果的控制器,比較感興趣,便對MMDrawerController研究起來。也方便自己忘記之后查閱,另外也希望對大家有所幫助(PS:以前都是上面一個導航欄,下面一個tabbar的項目居多,所以對這種抽屜控制器不是很了解).

IOS中如何實現(xiàn)MMDrawerController第三方抽屜效果

1.首先,到GitHub上把MMDrawerController下下來,然后倒入到項目中。當然你用cocoapods倒入也行。看你心情唄O(∩_∩)O

IOS中如何實現(xiàn)MMDrawerController第三方抽屜效果

2.接下來就在appdelegate中擼我們的代碼了。先倒入各個控制器哈。

#import"MMDrawerController.h"
#import"rightViewController.h"
#import"centerViewController.h"
#import"leftViewController.h"
#import"MainNavViewController.h"

然后就是在didFinishLaunching中設置相關的控制了,其實跟平時項目的區(qū)別就是多了一個抽屜控制器。

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {
self.window= [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];
//左中右三個控制器
rightViewController*rightVc = [[rightViewControlleralloc]init];
leftViewController*leftVc = [[leftViewControlleralloc]init];
centerViewController*centerVc = [[centerViewControlleralloc]init];
//導航控制器
MainNavViewController*rightNavVc = [[MainNavViewControlleralloc]initWithRootViewController:rightVc];
MainNavViewController*leftNavVc = [[MainNavViewControlleralloc]initWithRootViewController:leftVc];
MainNavViewController*centerNavVc = [[MainNavViewControlleralloc]initWithRootViewController:centerVc];
//抽屜控制器
self.mmDrawerController= [[MMDrawerControlleralloc]initWithCenterViewController:centerNavVcleftDrawerViewController:leftNavVcrightDrawerViewController:rightNavVc];
//  關閉模式手勢
self.mmDrawerController.closeDrawerGestureModeMask = MMCloseDrawerGestureModeAll;
//  打開模式手勢
self.mmDrawerController.openDrawerGestureModeMask = MMOpenDrawerGestureModeAll;
//  抽屜控制器的最長寬度
self.mmDrawerController.maximumLeftDrawerWidth = 200;
[self.windowmakeKeyAndVisible];
self.window.rootViewController=self.mmDrawerController;
returnYES;
}

其實在這里就已經可以實現(xiàn)抽屜控制器的基本效果的了。但是要如下圖的效果還得加一丟丟代碼。

IOS中如何實現(xiàn)MMDrawerController第三方抽屜效果

然后我們在center控制器導航欄的leftBarButton上自定義一個button,添加點擊事件等等,這應該不難哈。記得要導入相關的類。

#import "UIViewController+MMDrawerController.h"
- (void)viewDidLoad {
  [super viewDidLoad];
  // Do any additional setup after loading the view.
  self.title = @"Demo";
  self.view.backgroundColor = [UIColor greenColor];
  //UIBarButtonItem的自定義的分類方法
  self.navigationItem.leftBarButtonItem = [UIBarButtonItem initWithTarget:self action:@selector(leftBtnClick) image:@"菜單 (1)" hightImage:@"菜單"];
}

-(void)leftBtnClick{
//  將左邊的控制器打開
  [self.mm_drawerController toggleDrawerSide:MMDrawerSideLeft animated:YES completion:nil];
}

下面就是left控制器的代碼哈,就是在view上添加了一個tableView。

#import "leftViewController.h"
#import "pushViewController.h"
#import "UIViewController+MMDrawerController.h"
#import "MainNavViewController.h"

@interface leftViewController ()

@end

@implementation leftViewController

- (void)viewDidLoad {
  [super viewDidLoad];
  // Do any additional setup after loading the view.
    self.view.backgroundColor = [UIColor blueColor];

  UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
  tableView.delegate = self;
  tableView.dataSource = self;
  [self.view addSubview:tableView];
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
  return 10;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
  UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];

  if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"];
  }

  cell.detailTextLabel.text = [NSString stringWithFormat:@"%zd",indexPath.row];

  return cell;
}

點擊cell跳轉控制器

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
  pushViewController *pushVc = [[pushViewController alloc] init];
  pushVc.title = [NSString stringWithFormat:@"%zd",indexPath.row];
  //取到center控制器  
  MainNavViewController *mainNavVc = (MainNavViewController *)self.mm_drawerController.centerViewController;
  [mainNavVc pushViewController:pushVc animated:YES];
  //關閉了控制器之后記得將模式設置為None
  [self.mm_drawerController closeDrawerAnimated:YES completion:^(BOOL finished) {
    [self.mm_drawerController setOpenDrawerGestureModeMask:MMOpenDrawerGestureModeNone];
  }];

}

最后記得在center控制器的viewDidAppear中打開滑動的手勢

-(void)viewDidAppear:(BOOL)animated{
  [super viewDidAppear:animated];

  [self.mm_drawerController setOpenDrawerGestureModeMask:MMOpenDrawerGestureModeAll];
}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“IOS中如何實現(xiàn)MMDrawerController第三方抽屜效果”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)建站,關注創(chuàng)新互聯(lián)網站建設公司行業(yè)資訊頻道,更多相關知識等著你來學習!

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


名稱欄目:IOS中如何實現(xiàn)MMDrawerController第三方抽屜效果-創(chuàng)新互聯(lián)
文章轉載:http://weahome.cn/article/copisd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部