快速以编程方式删除选项卡栏

hack客

我的iOS 8应用程序的主要导航是带有3个标签的标签栏。我也有一个登录屏幕,它是一个UIViewController,底部不应有选项卡。仅当我检测到用户未登录或已选择注销时,才从常规流程中以编程方式访问登录屏幕。当显示带有以下代码的登录屏幕时,我不确定如何从屏幕上删除选项卡:

let loginView = self.storyboard?.instantiateViewControllerWithIdentifer("Login") as UIViewController
self.presentViewController(loginView, animate: true, completion: nil)

我尝试将tabBar.hidden属性设置为true无结果。我还尝试修改情节提要以将“底部栏”设置为“无”,并选中了“在推送时隐藏底部栏”。

mag。

登录屏幕的行为可能与主屏幕不同。因此,您可能想为“登录”屏幕创建另一个ViewController。

我尝试将tabBar.hidden属性设置为true,但没有结果。

加载选项卡栏是否完成?hidden=YESviewDidLoad您的loginView之后调用

编辑

调用后self.presentViewController(loginView, ...),将从UIWindow中删除UITabBarController的视图,并将loginView的视图插入到UIWindow的子视图中。因此选项卡栏现在不可见。

您可以使用XCode6的“视图调试”功能来了解视图层次结构。您也可以使用UIViewController的recursiveDescription()方法。

/* UIViewExtension.h */
@interface UIView(MyExtension)
- (NSString*)recursiveDescription; //This is hidden API so need the declaration.
@end


/* YourViewController.swift */
override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)

    println(self.tabBarController?.view.superview?.recursiveDescription())
    // Here, the view of tabBarController is subview of UIWindow.
}

@IBAction func testButtonPressed(sender: UIButton) {
    self.presentViewController(viewController, animated: true) { () -> Void in
        println(self.tabBarController?.view.superview?.recursiveDescription())
        println(loginView.view.superview?.superview?.recursiveDescription())
        //Now, TabBarController's view is not subView of UIWindow. 
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

快速以编程方式删除选项卡栏

来自分类Dev

以编程方式创建选项卡栏控制器后如何添加导航界面(快速)

来自分类Dev

如何以快速方式在UITabBarController中以编程方式添加选项卡?

来自分类Dev

显示双导航栏,并以编程方式编码选项卡栏控制器

来自分类Dev

以编程方式创建Bootstrap选项卡

来自分类Dev

以编程方式选择选项卡栏项(不使用UITabBarController)

来自分类Dev

以编程方式返回到选项卡栏控制器中的视图

来自分类Dev

无法在AppDelegate中以编程方式将viewContoller添加到选项卡栏

来自分类Dev

以编程方式切换视图控制器以在选项卡栏控制器中显示视图

来自分类Dev

以编程方式禁用ActionBar选项卡指示器

来自分类Dev

Angular UI-以编程方式设置活动选项卡

来自分类Dev

在JQuery Mobile上以编程方式更改选项卡

来自分类Dev

以编程方式在新选项卡中创建新的QTextEdit

来自分类Dev

使用Turbolink以编程方式打开Bootstrap选项卡

来自分类Dev

以编程方式创建选项卡并在markdown中绘图

来自分类Dev

以编程方式更改ActionBar选项卡的颜色

来自分类Dev

如何以编程方式在选项卡之间移动

来自分类Dev

以编程方式更改选定的jQuery UI选项卡?

来自分类Dev

以编程方式使选项卡处于活动状态

来自分类Dev

JavaScript 以编程方式强制关闭选项卡?

来自分类Dev

以编程方式更改 UITabBarView 选项卡顺序

来自分类Dev

如何从默认选项卡栏删除底部

来自分类Dev

C#WinForms,将选项卡添加到选项卡控件,然后以编程方式将控件添加到每个选项卡

来自分类Dev

C#WinForms,将选项卡添加到选项卡控件,然后以编程方式将控件添加到每个选项卡

来自分类Dev

使用“简单”选项卡切换选项卡时,删除地址栏中的#anchor

来自分类Dev

每次快速按下选项卡栏项时如何执行操作

来自分类Dev

Android-以编程方式更改ActionBar选项卡为颜色加下划线

来自分类Dev

以编程方式打开gnome终端选项卡并按顺序执行命令

来自分类Dev

如何以编程方式更改选项卡指示器颜色

Related 相关文章

  1. 1

    快速以编程方式删除选项卡栏

  2. 2

    以编程方式创建选项卡栏控制器后如何添加导航界面(快速)

  3. 3

    如何以快速方式在UITabBarController中以编程方式添加选项卡?

  4. 4

    显示双导航栏,并以编程方式编码选项卡栏控制器

  5. 5

    以编程方式创建Bootstrap选项卡

  6. 6

    以编程方式选择选项卡栏项(不使用UITabBarController)

  7. 7

    以编程方式返回到选项卡栏控制器中的视图

  8. 8

    无法在AppDelegate中以编程方式将viewContoller添加到选项卡栏

  9. 9

    以编程方式切换视图控制器以在选项卡栏控制器中显示视图

  10. 10

    以编程方式禁用ActionBar选项卡指示器

  11. 11

    Angular UI-以编程方式设置活动选项卡

  12. 12

    在JQuery Mobile上以编程方式更改选项卡

  13. 13

    以编程方式在新选项卡中创建新的QTextEdit

  14. 14

    使用Turbolink以编程方式打开Bootstrap选项卡

  15. 15

    以编程方式创建选项卡并在markdown中绘图

  16. 16

    以编程方式更改ActionBar选项卡的颜色

  17. 17

    如何以编程方式在选项卡之间移动

  18. 18

    以编程方式更改选定的jQuery UI选项卡?

  19. 19

    以编程方式使选项卡处于活动状态

  20. 20

    JavaScript 以编程方式强制关闭选项卡?

  21. 21

    以编程方式更改 UITabBarView 选项卡顺序

  22. 22

    如何从默认选项卡栏删除底部

  23. 23

    C#WinForms,将选项卡添加到选项卡控件,然后以编程方式将控件添加到每个选项卡

  24. 24

    C#WinForms,将选项卡添加到选项卡控件,然后以编程方式将控件添加到每个选项卡

  25. 25

    使用“简单”选项卡切换选项卡时,删除地址栏中的#anchor

  26. 26

    每次快速按下选项卡栏项时如何执行操作

  27. 27

    Android-以编程方式更改ActionBar选项卡为颜色加下划线

  28. 28

    以编程方式打开gnome终端选项卡并按顺序执行命令

  29. 29

    如何以编程方式更改选项卡指示器颜色

热门标签

归档