Navigation Bar 和 Status Bar 的设置

概念:所谓的UINavigationItem就可以理解为Navigation Bar中的内容,通过编辑UINavigationItem, 我们可以使得在Navigation Bar中显示想要的东西,比如设置标题、添加按钮

navigationItem和UINaviagationController平级,

1. navigationBar自己有很多属性:比如 barStyle 、背景 backgroundColor 、frame属性(可以获得宽高这些信息)

2. 可以通过setBackgroundImage方法设置背景图片,并使用clipsToBounds裁剪

navigationBar的隐藏

这个需要其爸self.navigationController来控制。直接设置navigationBarHidden设置true或false

navigationItem的设置

1. 设置title。 self.navigationItem.title =

2. 设置titleView

3. 设置左右边的按钮

self.navigationItem.leftBarButtonItem

self.navigationItem.leftBarButtonItems

UIStatusBar

控制StatusBar的显示

//如果更换了return值,则需要调用 setNeedsStatusBarAppearanceUpdate 方法
    @IBAction func gggg(_ sender: AnyObject) {
        h = !h

    }

    var h  = false
        {
        didSet{
           // setNeedsStatusBarAppearanceUpdate()
            UIView.animate(withDuration: 0.25, animations: {
                self.setNeedsStatusBarAppearanceUpdate()
            })
        }
    }

    var style:UIStatusBarStyle = UIStatusBarStyle.default

    override var preferredStatusBarStyle: UIStatusBarStyle   {
        get{
            return style
        }
    }

    override var prefersStatusBarHidden: Bool {
        get{
            return h
        }
    }

  

在 iOS 以后 ViewController开始使用全屏布局的,而且默认的行为涉及到edgesForExtendedLayout. 指定边缘要延伸的方向,它的默认值很自然的是 UIRectEdgeAll,从四周边缘均延伸。就是即使视图中上有 navigationBar, 下有tabBar,那么视图仍会延伸覆盖到四周的区域。

OS7及以上版本有改动,UITabBar类添加了一个translucent属性,UINavigationBar类中的translucent属性也默认修改为YES。也就是说默认使用了这两个bar之后,显示的是半透明的效果,能够模糊看到被bar遮盖的东西。这会导致一些问题,比如配色的色差以及我们下面将的xib文件控件位置起点的问题。

时间: 2024-10-07 02:00:58

Navigation Bar 和 Status Bar 的设置的相关文章

Status bar and navigation bar appear over my view's bounds in iOS 7

转自:http://stackoverflow.com/questions/17074365/status-bar-and-navigation-bar-appear-over-my-views-bounds-in-ios-7 Question: I recently downloaded Xcode 5 DP to test my apps in iOS 7. The first thing I noticed and confirmed is that my view's bounds is

安卓状态栏通知Status Bar Notification

安卓系统通知用户三种方式: 1.Toast Notification 2.Dialog Notification 3.Status Bar Notification Status Bar Notification,状态栏通知 发送一个状态栏通知必须用到两个类:NotificationManager,Notification 1.NotificationManager是一个系统Service,必须通过getSystemService()获取 NotificationManager notifica

与Status Bar和Navigation Bar相关的一些东西

与StatusBar和NavigationBar相关的东西有两种,一是控制它们的显示与隐藏,二是控制它们的透明与否及背景. 在2.3及以前,StatusBar只能显示与隐藏,即全屏模式,通过WindowManager.LayoutParams.FLAG_FULLSCREEN来实现: getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 并可通过以下Flag使Activity的布局可以使用整个屏幕,状态栏会显示到Acti

status bar、navigationBar、tableView吸顶view设置

1. 隐藏navigationBar self.navigationController.navigationBar.hidden = YES; 2. status bar设置 -(void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; } -(void)v

改变status bar的状态

两种改变status bar状态的方法 一 :(全局的) 直接在当前控制器中(一般是在navigationcontroller) //- (UIStatusBarStyle)preferredStatusBarStyle{ //    return UIStatusBarStyleLightContent; //} 二 :(可以更具需要改变状态栏显示效果 //代码如下 [UIApplication sharedApplication].statusBarStyle = UIStatusBarSt

Keyboard、In-Call Status Bar的监听及视图位置改变调整(实例说明)

写于前: 当有textField的时候,键盘出现时,需要改变其他视图的frame,以及来电时In-Call Status Bar的出现也会影响其他视图的frame,那么通过通知模式,来观察两者的变化,并当其变化时进行一些操作. 代码思路:(视图frame的调整,以创建一个简单toolBar为例来实现) 1.底栏的创建,其中textField设置代理,遵循 2.UITextFieldDelegate协议,设置点击return返回键盘消失 3.通知的注册 4.通知的移除,在viewWillDisap

iOS开发-UINavigationBar和Status Bar实用技巧

iOS7之后关于UINavigationBar和Status  Bar都发生了一系列的改变,如果不需要兼容iOS7之后的设备,按照网上有些资料去解决问题会踩到一些坑.在iOS 7中,我们可以修改每个View Controller中状态栏的外观,而iOS7之前的状态栏都是白色风格.iOS7之前设置背景颜色还需要搞个背景View覆盖,而iOS7只需要设置一下barTintColor颜色即可. UINavigationBar设置 1.设置背景颜色: [self.navigationController

iOS7隐藏状态栏 status Bar

转自:http://blog.csdn.net/dqjyong/article/details/17896145 IOS7中,不仅应用的风格有一定的变化,状态栏变化比较大,我们可以看到UIVIEWCONTROLLER的状态栏与导航栏基本是一体的.因此UIVIEWCONTROLLER的HIDE/SHOW状态的方法也跟其他版本的不一样了. 在IOS7以前的版本,HIDE/SHOW是通过以下代码实现 [cpp] view plaincopy [[UIApplication sharedApplicat

iOS-修改Status Bar

一.在info.plist文件中添加一行不但要在 Status bar is initially hidden一行,选择为 YES. 二.在didFinishLaunchingWithOptions方法里添加 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 2 3 [UIApplication sharedApplica