【问题标题】:Adding a view between TabBarController & NavigationController在 TabBarController 和 NavigationController 之间添加视图
【发布时间】:2013-04-25 13:56:09
【问题描述】:

我有一个标签栏控制器,它的每个视图控制器都是一个导航控制器。我想用黑色透明视图阻止其中一个导航(AlertView 样式)中的一些视图,它应该覆盖顶部的导航栏,而不覆盖底部的标签栏。因此,如果您查看文档(选项卡栏控制器的视图 - 图 2),我想完全涵盖包含的自定义内容导航栏。

我个人不认为有一个简单的解决方案,任何建议将不胜感激。

【问题讨论】:

    标签: ios objective-c uinavigationcontroller uitabbarcontroller subview


    【解决方案1】:

    如果您想从其中一个 UIViewController 添加 AlertViewStyle,那么您应该尝试以下代码:

      //you can replace the UIView with a custom UIView class
        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.navigationController.view.frame.size.width, self.navigationController.view.frame.size.height)];
        view.backgroundColor = [UIColor grayColor]; // set your desired color
        [self.navigationController.view addSubview:view];
    

    【讨论】:

    • 我已经添加了这段代码,它在最初的问题上运行良好,除了现在添加到导航栏的视图根本没有收到任何触摸。我试过 hitTest(在导航栏和标签栏上触发,但不是我的子视图),touchesBegan,pointInside...
    • 你是否在 navigationController.view 上添加了其他 UIView?也许您可以将添加 UIView 的代码添加到 navigationContrller.view。
    • 很难找到问题,因为我不知道您在哪里添加视图。我刚刚测试了代码,并在添加到 navController.view 的视图上添加了一个 UITapGestureRecognizer,它工作正常。
    • 我在contentView的viewDidLoad中添加视图,我会尝试移动它并在initWithRoot之后添加:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    相关资源
    最近更新 更多