关于根视图

关于根视图

就是我原本是想先进入登录界面(原先的根视图是登录界面),但自从用了网上看到的一直抽屉视图后,它发的代码要指明根视图为mmDrawerController(MMDrawerController的一个对象),所以运行后,就直接调到这个中心视图界面了(但我本意是先进入登录界面,账号密码通过后才进入这个中心界面),代码如下:
#import "AppDelegate.h"
#import "MMDrawerController.h"
#import "AFNetworking.h"
#import "MainViewController2.h"//中
#import "ModelViewController.h"//左
#import "ManageViewController.h"//右
#import "MainnavViewController.h"//导航栏
@interface AppDelegate (){
   
    ModelViewController *nv_left;
    MainViewController2 *nv_center;
    ManageViewController *nv_right;
    MMDrawerController *mmDrawerController;
  

}

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
   //左右中三个视图控制器
    nv_right=[[ManageViewController alloc]init];
    nv_center=[[MainViewController2 alloc]init];
    nv_left=[[ModelViewController alloc]init];
   
    //导航栏控制器
    MainnavViewController *rightNavVc=[[MainnavViewController alloc]initWithRootViewController:nv_right];
    MainnavViewController *centerNavVc=[[MainnavViewController alloc]initWithRootViewController:nv_center];
    MainnavViewController *leftNavVc=[[MainnavViewController alloc]initWithRootViewController:nv_left];
   
    //抽屉控制器
    mmDrawerController=[[MMDrawerController alloc]initWithCenterViewController:centerNavVc leftDrawerViewController:leftNavVc rightDrawerViewController:rightNavVc];
   
    //关闭模式手势
mmDrawerController.closeDrawerGestureModeMask=MMCloseDrawerGestureModeAll;
   
    //打开模式手势
mmDrawerController.openDrawerGestureModeMask=MMOpenDrawerGestureModeAll;
   
    //抽屉控制器的最长宽度
    mmDrawerController.maximumLeftDrawerWidth=200;
   
    [self.window makeKeyAndVisible];
    self.window.rootViewController=mmDrawerController;
有什么解决办法吗?
  

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
Tender10 2017-11-20 10:22:02

其实你可以把登录界面作为根视图啊,或者是一个默认的首页控制器作为一个根视图,然后点击登录,登录成功后,在跳转到这个控制器就可以了啊。这个默认先显示什么控制器跟抽屉效果是没有关系的啊。人家设置成默认显示的根视图,你就直接跳转到这个视图。只要效果的代码有就可以了。

  • 提问者 qq_风中素语_0 #1
    但是,这个代码现在的情况是,如果将根视图写成 self.window.rootViewController=mmDrawerController;(mmDrawerController是MMDrawerController的一个对象),运行后直接跳到登录后的界面,但是可以实现抽屉效果,而如果我将根视图换为self.window.rootViewController=nv_main;(nv_main是登录界面),这样虽然运行后进入的界面是登录界面,但抽屉效果却不起作用了。这是为什么呢?
    2017-11-20 14:22:22
  • Tender10 回复 提问者 qq_风中素语_0 #2
    这个效果和谁是根视图控制器无关啊。你运行后进入登录界面,那是因为登录界面并没有实现抽屉效果啊,你要实现的不是登录成功后在跳转到MMDrawerController嘛,然后这个控制器里实现的抽屉效果嘛。
    2017-11-20 16:17:32
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
iOS进阶:界面优化与数据存储
  • 参与学习       516    人
  • 提交作业       158    份
  • 解答问题       637    个

本路径采用基础+案例方式,助你解开对界面优化、数据储存、屏幕适配的疑惑。6小时团购项目实战加最新版本Swift讲解,让你掌握更多iOS开发技巧。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师