u010343074
奔跑的香蕉Go
2015-10-29 08:37
采纳率: 55.6%
浏览 1.7k
已采纳

一个很简单的界面设计问题。不知道具体的界面逻辑。

图片说明

要求当点击下面的四个按钮时弹出新窗口(我用的push),但是push出来的默认带leftitem返回嘛,可是我的不带。不知道是不是viewcontroller写的逻辑问题。
我是把rootviewcontroller设置成UINavigationController,appdelegate代码如下
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
//1、创建窗口
self.window = [[UIWindow alloc] init];
self.window.frame = [UIScreen mainScreen].bounds;

//2、设置根视图
UINavigationController *nac = [[UINavigationController alloc] init];
self.window.rootViewController  = nac;
nac.view.backgroundColor = [UIColor redColor];
HLhomeViewController *homeView = [[HLhomeViewController alloc] init];
//homeView.view.backgroundColor = [UIColor whiteColor];
[nac addChildViewController:homeView];
nac.navigationBar.translucent = NO;
nac.navigationBar.barStyle = UIBarStyleBlack;
homeView.navigationItem.title = @"ee";
[self.window addSubview:homeView.view];
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • u013346305
    LUCKEYMAN 2015-10-29 09:05
    已采纳

    appdelegate里面控制器设置的先后顺序不能变。UINavigationController是比较底层的控制器。
    HLhomeViewController *homeView = [[HLhomeViewController alloc] init];
    UINavigationController *nac = [[UINavigationController alloc] initWithRootViewController:homeView];
    self.window.rootViewController = nac;

    接下来设置标题,在HLhomeViewController里面,self.title设置就行。

    接下来点击按钮push: [self.navigationController pushViewController:controller animated:YES]

    点赞 评论
  • u014116643
    mifit 2015-10-29 08:41

    可以把homeView先生成,然后这样生成nav吧。
    UINavigationController *nac = [[UINavigationController alloc] initWithRootViewController:homeView];

    点赞 评论
  • u014116643
    mifit 2015-10-29 08:41

    可以把homeView先生成,然后这样生成nav吧。
    UINavigationController *nac = [[UINavigationController alloc] initWithRootViewController:homeView];

    点赞 评论
  • yeshaojian
    黑森林工作室 2015-11-01 06:14

    最好不要在AppDelegate里面做太多控制器UI的操作,只要告诉它根控制器是谁,然后到根控制器内进行你所需要的操作,
    这样还可以在根控制器内进行PUSH拦截等等全局操作!
    // 根控制器创建
    self.window = [[UIWindow alloc] init];
    // 设置大小
    self.window.frame = [UIScreen mainScreen].bounds;
    // 创建对象控制器
    UINavigationController *nav = [[UINavigationController alloc] init];
    // 将控制器交给window的rootViewController
    self.window.rootViewController = nav;
    // 将对象控制器移至最前端并显示出来
    [self.window makeKeyAndVisible];

    然后到UINavigationController.m里面进行你需要的操作就可以了,在里面可以为所欲为,自定义PUSH、back等等!
    
    点赞 评论

相关推荐