Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当navigationController设置为false时,IOS导航栏tintColor不会变为白色_Ios_Iphone_Uinavigationbar_Tintcolor - Fatal编程技术网

当navigationController设置为false时,IOS导航栏tintColor不会变为白色

当navigationController设置为false时,IOS导航栏tintColor不会变为白色,ios,iphone,uinavigationbar,tintcolor,Ios,Iphone,Uinavigationbar,Tintcolor,我的一个Xcode项目遇到了问题。我试图隐藏IOS应用程序的导航栏,但在时间、载体和电池部分/图标上保留白色色调。如果在self.navigationController?.navigationBarHidden=false中将navigationController设置为false,则只能将色调变为白色 设置为true时,色调变为白色,没有问题,但导航栏是彩色的。这是我的密码 import UIKit class ViewController: UIViewController, UIT

我的一个Xcode项目遇到了问题。我试图隐藏IOS应用程序的导航栏,但在时间、载体和电池部分/图标上保留白色色调。如果在
self.navigationController?.navigationBarHidden=false中将navigationController设置为false,则只能将色调变为白色
设置为true时,色调变为白色,没有问题,但导航栏是彩色的。这是我的密码

import UIKit



class ViewController: UIViewController, UITextFieldDelegate {
    @IBOutlet weak var menuButton:UIBarButtonItem!

    @IBOutlet weak var emailTxt: UITextField!
    @IBOutlet weak var passwordTxt: UITextField!
    @IBOutlet weak var signinBtn: UIButton!
    @IBOutlet weak var signupBtn: UIButton!


    var varView = Int()



    override func viewDidLoad() {


        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        emailTxt.delegate = self

        let theWidth = view.frame.size.width
        let theHeight = view.frame.size.height

        emailTxt.frame = CGRectMake(40, 200, theWidth-80, 30)
        passwordTxt.frame = CGRectMake(40, 240, theWidth-80, 30)

        signinBtn.frame = CGRectMake(theWidth-228, 340, 59, 30)

         signupBtn.frame = CGRectMake(theWidth-228, 390, 59, 30)

        let nav = self.navigationController?.navigationBar
        nav?.barStyle = UIBarStyle.Black
        nav?.tintColor = UIColor.whiteColor()
        nav?.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]

        self.navigationController?.navigationBarHidden = true








        //maparea


    }



    func textFieldShouldReturn(textField: UITextField) -> Bool {
        textField.resignFirstResponder()
        return true;
    }

    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
    //emailTxt.resignFirstResponder()
        self.view.endEditing(true)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    @IBAction func signInBtn(sender: AnyObject) {

        PFUser.logInWithUsernameInBackground(emailTxt.text!, password: passwordTxt.text!) {
            (user:PFUser?, error:NSError?) -> Void in

            if error == nil {

                print("logIn")
                self.performSegueWithIdentifier("gotoMainVCFromSigninVC", sender: self)

            } else {

                print("error")
            }

        }

    }

     }
导入UIKit
类ViewController:UIViewController、UIExtFieldDelegate{
@IBVar menuButton:UIBarButtonItem!
@IBOutlet弱var emailTxt:UITextField!
@IBOutlet弱var密码txt:UITextField!
@IBOutlet弱var信号:UIButton!
@IBOUTLE弱var signupBtn:UIButton!
var varView=Int()
重写func viewDidLoad(){
super.viewDidLoad()
//加载视图后,通常从nib执行任何其他设置。
emailTxt.delegate=self
让宽度=view.frame.size.width
让高度=view.frame.size.height
emailTxt.frame=CGRectMake(40200,宽度-8030)
passwordTxt.frame=CGRectMake(40,240,宽度-80,30)
signinBtn.frame=CGRectMake(宽度-22834059,30)
signupBtn.frame=CGRectMake(宽度-2283905930)
设nav=self.navigationController?.navigationBar
导航?.barStyle=UIBarStyle.Black
nav?.tintColor=UIColor.whiteColor()
nav?.titleTextAttributes=[NSForegroundColorAttributeName:UIColor.whiteColor()]
self.navigationController?.navigationBarHidden=true
//地图区
}
func textField应返回(textField:UITextField)->Bool{
textField.resignFirstResponder()辞职
返回true;
}
覆盖功能触摸开始(触摸:设置,withEvent事件:UIEvent?){
//emailTxt.resignFirstResponder()
self.view.endEditing(true)
}
重写函数didReceiveMemoryWarning(){
超级。我收到了记忆警告()
//处置所有可以重新创建的资源。
}
@iAction func signInBtn(发送方:任意对象){
PFUser.logInWithUsernameInBackground(emailTxt.text!,密码:passwordTxt.text!){
(用户:PFUser?,错误:NSError?->在中无效
如果错误==nil{
打印(“登录”)
self.performsguewithidentifier(“gotomainvcfromsignenvc”,发送方:self)
}否则{
打印(“错误”)
}
}
}
}

在视图控制器中,您可以像这样覆盖
preferredStatusBarStyle

    override func preferredStatusBarStyle() -> UIStatusBarStyle {
    return .LightContent
}

您的问题不在于关联导航栏。它与状态栏有关。您的状态栏是
lightContent
,因此您将看到白色。您只需将其更改为
默认值
,您就会看得更清楚

使用
viewcontroller
更改状态栏:

  • 在中,将UIViewControllerBasedStatusBarAppearance设置为YES .plist文件

  • 在viewDidLoad中执行[self-setNeedsStatusBarAppearanceUpdate]

  • 添加以下方法:

    override func preferredStatusBarStyle() -> UIStatusBarStyle {
        return .Default
    }
    
  • 在您的情况下是导航,因此请执行以下操作:

    self.navigationController.navigationBar.barStyle = .Default
    

    希望有此帮助。

    对于@adrianokw的回答是针对一个viewcontroller,如果您想针对整个应用程序执行此操作,请将以下内容添加到info.plist

    状态栏样式
    UIStatusBarStyleLightContent

    查看基于控制器的状态栏外观


    更多信息

    如果您想要暗状态栏样式,请返回
    。默认值
    而不是没有问题@LarryNavarro!如果我的答案是正确的,请把它标记为正确!谢谢