【问题标题】:Configure SWRevealViewController programmatically?以编程方式配置 SWRevealViewController?
【发布时间】:2015-07-30 16:57:22
【问题描述】:

我找到了许多关于如何通过情节提要配置SWRevealViewController 的教程,但我希望完全摆脱情节提要和 xib。

所以我想知道,有没有办法以编程方式配置库?

【问题讨论】:

    标签: ios swift ios8 swrevealviewcontroller


    【解决方案1】:

    Swift 5.x 更新(以编程方式)

    来自 AppDelegate,在 didFinishLaunchingWithOptions 中:

        let revealController = SWRevealViewController()
        var mainRevealController = SWRevealViewController()
    
        let sidebar = SideBarViewController()
        let homepage = ViewController()
    
        let frontNavigationController = UINavigationController(rootViewController: homepage)
        let rearNavigationController = UINavigationController(rootViewController: sidebar)
    
        revealController.frontViewController = frontNavigationController
        revealController.rearViewController = rearNavigationController
        revealController.delegate = self
    
        mainRevealController  = revealController
    
        window = UIWindow(frame: UIScreen.main.bounds)
        window?.makeKeyAndVisible()
        window?.rootViewController = mainRevealController
    
        return true
    

    【讨论】:

      【解决方案2】:

      斯威夫特 3

          let frontNavigationController:UINavigationController
          let rearNavigationController:UINavigationController
          let revealController = SWRevealViewController()
          var mainRevealController = SWRevealViewController()
      
          let sidebar = self.storyboard?.instantiateViewController(withIdentifier:  "sidebarMenuVCID")as! sidebarMenu
      
          let homepage = self.storyboard?.instantiateViewController(withIdentifier: "HomePageVCID") as! HomePage
      
          frontNavigationController =  UINavigationController(rootViewController: homepage)
          rearNavigationController = UINavigationController(rootViewController: sidebar)
      
          revealController.frontViewController = frontNavigationController
          revealController.rearViewController = rearNavigationController
          revealController.delegate = self
          mainRevealController  = revealController
      
          self.window?.rootViewController = mainRevealController
      

      【讨论】:

      • 我不知道 Swift 3 中返回的分号!嘘!我从不喜欢那些
      • 完成了请检查
      【解决方案3】:

      您下载的 SWReveal 包中有示例项目。如果我没记错的话,它们都是以编程方式实现的。

      来自示例项目 #2 的 AppDelegate.m:

      - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
      {
          UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
          self.window = window;
      
          FrontViewController *frontViewController = [[FrontViewController alloc] init];
          RearViewController *rearViewController = [[RearViewController alloc] init];
      
          UINavigationController *frontNavigationController = [[UINavigationController alloc] initWithRootViewController:frontViewController];
          UINavigationController *rearNavigationController = [[UINavigationController alloc] initWithRootViewController:rearViewController];
      
          SWRevealViewController *mainRevealController = [[SWRevealViewController alloc]
              initWithRearViewController:rearNavigationController frontViewController:frontNavigationController];
      
          mainRevealController.delegate = self;
      
          self.viewController = mainRevealController;
      
          self.window.rootViewController = self.viewController;
          [self.window makeKeyAndVisible];
          return YES;
      }
      

      【讨论】:

        猜你喜欢
        • 2016-11-20
        • 2019-03-05
        • 2016-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多