【发布时间】:2015-07-30 16:57:22
【问题描述】:
我找到了许多关于如何通过情节提要配置SWRevealViewController 的教程,但我希望完全摆脱情节提要和 xib。
所以我想知道,有没有办法以编程方式配置库?
【问题讨论】:
标签: ios swift ios8 swrevealviewcontroller
我找到了许多关于如何通过情节提要配置SWRevealViewController 的教程,但我希望完全摆脱情节提要和 xib。
所以我想知道,有没有办法以编程方式配置库?
【问题讨论】:
标签: ios swift ios8 swrevealviewcontroller
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
【讨论】:
斯威夫特 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
【讨论】:
您下载的 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;
}
【讨论】: