第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

不調(diào)用preferredStatusBarStyle

不調(diào)用preferredStatusBarStyle

胡子哥哥 2019-08-09 15:27:15
不調(diào)用preferredStatusBarStyle我跟著這個(gè)線程來(lái)覆蓋-preferredStatusBarStyle,但它沒(méi)有被調(diào)用。我可以更改任何選項(xiàng)以啟用它嗎?(我在我的項(xiàng)目中使用XIB。)
查看完整描述

3 回答

?
一只斗牛犬

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊

可能的根本原因

我遇到了同樣的問(wèn)題,并且發(fā)現(xiàn)它正在發(fā)生,因?yàn)槲覜](méi)有在我的應(yīng)用程序窗口中設(shè)置根視圖控制器。

UIViewController,其中我已經(jīng)實(shí)現(xiàn)的preferredStatusBarStyle是在一個(gè)使用UITabBarController,其控制的屏幕上的意見(jiàn)的外觀。

當(dāng)我將根視圖控制器設(shè)置為指向此時(shí)UITabBarController,狀態(tài)欄更改開(kāi)始按預(yù)期正常工作(并且該preferredStatusBarStyle方法被調(diào)用)。

(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
    ... // other view controller loading/setup code

    self.window.rootViewController = rootTabBarController;
    [self.window makeKeyAndVisible];
    return YES;}

替代方法(在iOS 9中已棄用)

或者,您可以根據(jù)需要在每個(gè)視圖控制器中調(diào)用以下方法之一,具體取決于其背景顏色,而不必使用setNeedsStatusBarAppearanceUpdate

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

要么

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];

請(qǐng)注意,您還需要設(shè)置UIViewControllerBasedStatusBarAppearanceNO如果您使用此方法在plist文件。


查看完整回答
反對(duì) 回復(fù) 2019-08-09
?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊

對(duì)于使用UINavigationController的任何人:

UINavigationController不上轉(zhuǎn)發(fā)該preferredStatusBarStyle呼叫到其子視圖控制器。相反,它管理自己的狀態(tài) - 正如它應(yīng)該的那樣,它繪制在狀態(tài)欄所在的屏幕頂部,因此應(yīng)該負(fù)責(zé)它。因此preferredStatusBarStyle,在導(dǎo)航控制器內(nèi)的VC中實(shí)現(xiàn)將不會(huì)做任何事情 - 它們永遠(yuǎn)不會(huì)被調(diào)用。

訣竅在于UINavigationController決定返回什么UIStatusBarStyleDefault或者用途的用途UIStatusBarStyleLightContent。它以此為基礎(chǔ)UINavigationBar.barStyle。默認(rèn)(UIBarStyleDefault)會(huì)生成暗前景UIStatusBarStyleDefault狀態(tài)欄。并UIBarStyleBlack會(huì)給出一個(gè)UIStatusBarStyleLightContent狀態(tài)欄。

如果你想UIStatusBarStyleLightContentUINavigationController使用:

self.navigationController.navigationBar.barStyle = UIBarStyleBlack;


查看完整回答
反對(duì) 回復(fù) 2019-08-09
?
catspeake

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊

所以我實(shí)際上為UINavigationController添加了一個(gè)類別,但使用了這些方法:

-(UIViewController *)childViewControllerForStatusBarStyle;-(UIViewController *)childViewControllerForStatusBarHidden;

并讓那些返回當(dāng)前可見(jiàn)的UIViewController。這使得當(dāng)前可見(jiàn)視圖控制器設(shè)置其自己的首選樣式/可見(jiàn)性。

這是一個(gè)完整的代碼片段:

在Swift中:

extension UINavigationController {

    public override func childViewControllerForStatusBarHidden() -> UIViewController? {
        return self.topViewController    }

    public override func childViewControllerForStatusBarStyle() -> UIViewController? {
        return self.topViewController    }}

在Objective-C中:

@interface UINavigationController (StatusBarStyle)@end@implementation UINavigationController (StatusBarStyle)-(UIViewController *)childViewControllerForStatusBarStyle {
    return self.topViewController;}-(UIViewController *)childViewControllerForStatusBarHidden {
    return self.topViewController;}@end

為了更好的衡量,以下是它在UIViewController中的實(shí)現(xiàn)方式:

在斯威夫特

override public func preferredStatusBarStyle() -> UIStatusBarStyle {
    return .LightContent}override func prefersStatusBarHidden() -> Bool {
    return false}

在Objective-C中

-(UIStatusBarStyle)preferredStatusBarStyle {
    return UIStatusBarStyleLightContent; // your own style}- (BOOL)prefersStatusBarHidden {
    return NO; // your own visibility code}

最后,確保你的應(yīng)用程序plist中具有“查看基于控制器的狀態(tài)欄外觀”設(shè)置為NO。刪除該行或?qū)⑵湓O(shè)置為YES(我認(rèn)為現(xiàn)在是iOS 7的默認(rèn)值?)


查看完整回答
反對(duì) 回復(fù) 2019-08-09
  • 3 回答
  • 0 關(guān)注
  • 1410 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)