大家好,我试图隐藏我的statusBar在一个View Controller,但它似乎不工作..我使用的函数:
View Controller
override var prefersStatusBarHidden: Bool { return true }
我还将plist文件中的**View controller-based status bar appearance设置为YES**我的状态栏不想隐藏...我哪里做错了?
plist
View controller-based status bar appearance
agxfikkp1#
看起来您试图在单个ViewController中专门隐藏状态栏。为此,您需要在ViewController中包含以下内容self.modalPresentationCapturesStatusBarAppearance = true
ViewController
self.modalPresentationCapturesStatusBarAppearance = true
我还在我的.plist中添加了View controller-based status bar appearance,并将其设置为YES。在最新iOS 13上测试。
.plist
YES
jdzmm42g2#
如果目标视图控制器嵌入在另一个容器视图控制器(如UINavigationController)中,则需要对该容器视图控制器进行子类化,并覆盖其childForStatusBarHidden以返回目标视图控制器。
UINavigationController
childForStatusBarHidden
r1zk6ea13#
如果您可以查看此内容,则应覆盖childForStatusBarHidden和childForStatusBarStyle。
class CCNavigationController: UINavigationController { override var childForStatusBarHidden: UIViewController? { return self.topViewController } override var childForStatusBarStyle: UIViewController? { return self.topViewController } }
3条答案
按热度按时间agxfikkp1#
看起来您试图在单个
ViewController
中专门隐藏状态栏。为此,您需要在
ViewController
中包含以下内容self.modalPresentationCapturesStatusBarAppearance = true
我还在我的
.plist
中添加了View controller-based status bar appearance
,并将其设置为YES
。在最新iOS 13上测试。
jdzmm42g2#
如果目标视图控制器嵌入在另一个容器视图控制器(如
UINavigationController
)中,则需要对该容器视图控制器进行子类化,并覆盖其childForStatusBarHidden
以返回目标视图控制器。r1zk6ea13#
如果您可以查看此内容,则应覆盖childForStatusBarHidden和childForStatusBarStyle。