你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS:制作左右側滑(抽屜式)菜單

iOS:制作左右側滑(抽屜式)菜單

編輯:IOS開發綜合
這裡我們使用AMSlideMenu來實現左右側滑菜單的效果。控件支持單獨左側滑、單獨右側滑和左右側滑。同時支持Storyboard和xib兩種開發模式。這裡介紹第二種,在xib中的開發。 開發步驟如下: 1.    在Podfile中添加:pod "AMSlideMenu", "~> 1.5.3",通過pod install導入項目。 2.    在Pods項目中(注意:不是你自己的項目),在Pods-*.pch文件中添加如下一行代碼:   // 必須,否則xib方式會報錯 #define AMSlideMenuWithoutStoryboards 3.    實現一個繼承了AMSlideMenuMainViewController類的ViewController。主要代碼如下:   復制代碼 - (void)viewDidLoad {    /*******************************     *     初始化菜單     *******************************/     self.leftMenu = [[LeftMenuTVC alloc] initWithNibName:@"LeftMenuTVC" bundle:nil];     self.rightMenu = [[RightMenuTVC alloc] initWithNibName:@"RightMenuTVC" bundle:nil];    /*******************************     *     結束初始化     *******************************/       [super viewDidLoad];     // Do any additional setup after loading the view. }   // 設置左側菜單按鈕樣式(右側按鈕類似操作) - (void)configureLeftMenuButton:(UIButton *)button {     CGRect frame = button.frame;     frame.origin = (CGPoint){0,0};     frame.size = (CGSize){40,40};     button.frame = frame;          [button setImage:[UIImage imageNamed:@"icon-menu.png"] forState:UIControlStateNormal]; } 復制代碼 4.    實現一個繼承了AMSlideMenuLeftTableViewController的UITableViewController的類作為左側菜單(右側菜單類似) 主要代碼如下:   復制代碼 - (void)viewDidLoad {     [super viewDidLoad];     // Do any additional setup after loading the view from its nib.          // 初始化菜單項     self.tableData = [@[@"VC 1",@"VC 2",@"VC 3"] mutableCopy]; }   // 點擊菜單項跳轉到不同的VC - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {     UINavigationController *nvc;     UIViewController *rootVC;     switch (indexPath.row) {         case 0:         {             rootVC = [[FirstVC alloc] initWithNibName:@"FirstVC" bundle:nil];         }             break;         case 1:         {             rootVC = [[SecondVC alloc] initWithNibName:@"SecondVC" bundle:nil];         }             break;         case 2:         {             rootVC = [[ThirdVC alloc] initWithNibName:@"ThirdVC" bundle:nil];         }             break;                  default:             break;     }     nvc = [[UINavigationController alloc] initWithRootViewController:rootVC];          [self openContentNavigationController:nvc]; } 復制代碼 5.    最後記得在AppDelegate中要做這步操作(當然,其它地方也可以):   復制代碼 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {     MainVC *mainVC = [[MainVC alloc] init];       UINavigationController *startNVC = [[UINavigationController alloc] initWithRootViewController:mainVC];          self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];       self.window.rootViewController = startNVC;     [self.window makeKeyAndVisible];          return YES; }
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved