全屏 iOS Swift

ern*_*neo 5 fullscreen ios swift

是否可以将应用程序从非全屏切换到全屏?

在此处输入图片说明

我有这个开关,我想让它在打开应用程序时隐藏状态栏,关闭应用程序时不会隐藏状态栏

所以我实现了这个:

@IBAction func fsChanged(sender: AnyObject) {
    if(fullScreenSwitch.on)
    {
        prefersStatusBarHidden()
        println("FS attivato")
    }
    else {
        prefersStatusBarHidden()
        println("FS disattivato")
    }
}

override func prefersStatusBarHidden() -> Bool {
    if(fullScreenSwitch.on)
    {
        return true
    }
    else {
        return false
    }
}
Run Code Online (Sandbox Code Playgroud)

它确实适用于实际的转场,但不适用于整个应用程序!我怎样才能为所有应用程序做到这一点?

谢谢!

小智 6

在 swift 3, swift 4 你应该使用它

override open var prefersStatusBarHidden: Bool {
    return true
}
Run Code Online (Sandbox Code Playgroud)

不能这样分配

self.prefersStatusBarHidden = false
Run Code Online (Sandbox Code Playgroud)

它会给你一个错误

错误:无法分配给属性:“prefersStatusBarHidden”是一个只能获取的属性


Ohi*_*ovr 3

只需使用像 statusBarIsHidden 这样的全局变量来保存您想要的状态

然后在每个视图控制器中放入函数:

override func PreferredStatusBarHidden () -> Bool {return statusBarIsHidden}

//
//  ViewController_no_status_bar.swift
//  hide the status bar
//
//  Created by Scott Yannitell on 4/30/15.
//  Copyright (c) 2015 ohiovr.com. All rights reserved.
//

import UIKit

var statusBarIsHidden = true
class ViewController_no_status_bar: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    override func prefersStatusBarHidden () -> Bool {return statusBarIsHidden}

}
Run Code Online (Sandbox Code Playgroud)

  • `prefersStatusBarHidden` 现在是一个属性 getter,而不是一个函数,所以这个答案需要一些调整。 (2认同)