国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

iOS 兩種方式設置狀態(tài)欄

這篇具有很好參考價值的文章主要介紹了iOS 兩種方式設置狀態(tài)欄。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、ios9.0以前設置狀態(tài)欄字體顏色

///白色
?[[UIApplication sharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent];

///黑色
?[[UIApplication sharedApplication]setStatusBarStyle:UIStatusBarStyleDefault];


會看到如下提示:

'setStatusBarStyle:' is deprecated: first deprecated in iOS 9.0 - Use -[UIViewController preferredStatusBarStyle]
1
注意:1、該方法在9.0后就廢棄了,需要使用在preferredStatusBarStyle方法中實現(xiàn)
2、setStatusBarStyle設置狀態(tài)欄顏色,我們需要在plist中添加
View controller-based status bar appearance —>NO
3、??劃重點:上面這個屬性會影響 preferredStatusBarStyle的,
4、所以你在使用preferredStatusBarStyle來實現(xiàn)時,該值需要設置為YES,否則不生效
5、??也就是說View controller-based status bar appearance 值為NO使用
setStatusBarStyle生效,為YES時preferredStatusBarStyle生效,一定要注意啦
2、iOS9.0以后使用如下方式:

- (UIStatusBarStyle)preferredStatusBarStyle {
? ? //1:白色 ?0:黑色
? ? if (self.vcFlag == 1) {
? ? ? ? ? ?return UIStatusBarStyleLightContent;
? ? }else {
? ? ? ? if (@available(iOS 13.0, *)) {
? ? ? ? ? ? return UIStatusBarStyleDarkContent;
? ? ? ? } else {
? ? ? ? ? ?return UIStatusBarStyleDefault;
? ? ? ? }
? ? }
}

注意:View controller-based status bar appearance 為YES
要想在頁面滑動時,狀態(tài)欄字體顏色會隨著變黑或白色,flag我們已經添加,只要讓其主動調用該方法

///會自動調用preferredStatusBarStyle方法,只要加上相關判斷即可
[self setNeedsStatusBarAppearanceUpdate];
?

這里必須注意:設置狀態(tài)欄的時候,首先分為兩種情況,其一:在plist里面設置了View controller-based status bar appearance為NO,這個屬性的意義就是不讓控制器基于status bar appearance的設置,也就是自己可以在每一個控制器里面自己進行設置。這個時候就不能再用?

- (UIStatusBarStyle)preferredStatusBarStyle這個方法來設置,是沒有效果的,而必須要用[[UIApplication sharedApplication]?setStatusBarStyle:UIStatusBarStyleLightContent]來設置,其二,當plist里面設置了View controller-based status bar appearance為YES,或者沒有設置的時候(默認為YES),這個時候可以根據(jù)(UIStatusBarStyle)preferredStatusBarStyle這個方法來設置,用這個方法的時候也分為兩種情況,一種情況是當前要設置的ViewController嵌入在一個NavigationController里面的時候,

?系統(tǒng)默認的將指定狀態(tài)欄的權利交給了導航控制器,要是想讓導航控制器的childViewController來設置狀態(tài)欄的顏色,就要自定義導航控制器來指定!?自定義導航控制器后,要是想指定狀態(tài)欄由誰來設置,就需要說明清楚權利交給誰,下面兩個方法都可以來指定,通過方法名也可以很清楚的理解,preferredStatusBarStyle這個方法重寫,來返回想要指定的控制器的這個方法的返回結果,childViewControllerForStatusBarStyle這個方法則是用來說明讓誰來擁有這個權利,兩個方法都可以做的,自己選擇即可,個人覺得第一個比較好,指定清楚之后,直接調這個控制器的這個方法返回值即可

???????

完成上面的自定義后,只要在當前的Viewcontroller里面實現(xiàn)

preferredStatusBarStyle方法,設置好想要的狀態(tài)欄顏色,然后在需要變更的地方調用[selfsetNeedsStatusBarAppearanceUpdate];

(這個方法會通知系統(tǒng)去調用當前UIViewController的preferredStatusBarStyle方法),這個和UIView的setNeedsDisplay原理差不多(調用UIView對象的setNeedsDisplay方法后,系統(tǒng)會在下次頁面刷新時,調用重繪該view,系統(tǒng)最快能1秒刷新60次頁面,具體要看程序設置),文章來源地址http://www.zghlxwxcb.cn/news/detail-629736.html

- (UIStatusBarStyle)preferredStatusBarStyle
{ViewController *vc = self.topViewController;return [vc preferredStatusBarStyle];
}- (UIViewController *)childViewControllerForStatusBarStyle
{return self.topViewController;
}

到了這里,關于iOS 兩種方式設置狀態(tài)欄的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • macos編譯libtiff庫給IOS用

    macos編譯libtiff庫給IOS用

    ? ? ?

    2024年02月12日
    瀏覽(19)
  • Charles證書過期解決方法macos/ios

    Charles證書過期解決方法macos/ios

    今天心血來潮打開Charles想試試看抓包手機APP(ios),結果發(fā)現(xiàn)各種x和提示ssl錯誤。開始以為是和魔法的代理沖突或者ip變了,捯飭很久后發(fā)現(xiàn)web的也報錯。 然后搜了一會原因發(fā)現(xiàn)時證書過期了 1、搜索“鑰匙串訪問”,直接搜索“charles”,找到打叉的名稱,直接刪掉 2、打開

    2024年02月03日
    瀏覽(23)
  • CSS_IOS適配狀態(tài)欄和IOS底部安全區(qū)域

    計算屬性 先constant再env 計算屬性 safe-area-inset-left: 安全區(qū)域距離左邊界的距離 safe-area-inset-right: 安全區(qū)域距離右邊界的距離 safe-area-inset-top: 安全區(qū)域距離頂部邊界的距離 safe-area-inset-bottom: 安全區(qū)域距離底部邊界的距離

    2024年02月10日
    瀏覽(15)
  • MacOS 14 系統(tǒng) XCode15、 Flutter 開發(fā) IOS

    MacOS 14 系統(tǒng) XCode15、 Flutter 開發(fā) IOS

    MacOS14 Sonoma 安裝 Flutter 開發(fā)環(huán)境 MacOS 系統(tǒng) Flutter開發(fā)Android 環(huán)境配置 MacOS 系統(tǒng) Flutter開發(fā)IOS 環(huán)境配置??????? 前面我們已經在MacOS14 M3芯片上安裝好 Flutter環(huán)境,包括開發(fā)工具 VsCode 、Android Stuiod,那么flutter如何開發(fā)IOS呢? 我們知道IOS開發(fā)語言為 objcet-c或者 swift,F(xiàn)lutter是

    2024年02月03日
    瀏覽(23)
  • macOS Sonoma編譯OpenCV源碼輸出IOS平臺庫

    macOS Sonoma編譯OpenCV源碼輸出IOS平臺庫

    1.macOS下載并編譯OpenCV源碼:? 克隆源碼: 主倉:?git clone https://github.com/opencv/opencv.git 擴展倉:? git clone https://github.com/opencv/opencv_contrib.git ? ?編譯xcode源碼需要CMake與XCode命令行工具 確認已安裝CMake ?確認已安裝XCode ?安裝xcode command line tools 確認系統(tǒng)已安裝python環(huán)境

    2024年02月10日
    瀏覽(18)
  • iOS 請求本地網(wǎng)絡權限狀態(tài)

    1 在 .plist 添加\\\"_bonjour._tcp\\\", “_lnp._tcp.”, 到 “Bonjour services” 2 使用,只有被拒絕時候才會回調回來

    2024年02月07日
    瀏覽(14)
  • macos搭建appium-iOS自動化測試環(huán)境

    macos搭建appium-iOS自動化測試環(huán)境

    目錄 準備工作 安裝必需的軟件 安裝appium 安裝XCode 下載WDA工程 配置WDA工程 搭建appium+wda自動化環(huán)境 第一步:啟動通過xcodebuild命令啟動wda服務 分享一下如何在mac電腦上搭建一個完整的appium自動化測試環(huán)境 前期需要準備的設備和賬號: mac電腦一臺 iphone一臺 蘋果開發(fā)者賬號一

    2024年02月13日
    瀏覽(22)
  • uniapp打包之配置MacOS虛擬機生成iOS打包證書

    uniapp打包之配置MacOS虛擬機生成iOS打包證書

    uniapp是一款跨端開發(fā)框架,可用于快速開發(fā)iOS、Android、H5等多端應用。本文將詳細介紹如何實現(xiàn)uniapp開發(fā)的iOS應用打包。 一、下載蘋果原版鏡像文件 點擊此處下載 二、安裝VMware uniapp打包iOS應用需要生成相應證書和P2文件,這些都需要用到IOS環(huán)境,這里我是使用的是MacOS虛擬機

    2024年02月12日
    瀏覽(18)
  • 終極解決Flutter項目運行ios項目報錯Without CocoaPods, plugins will not work on iOS or macOS.

    終極解決Flutter項目運行ios項目報錯Without CocoaPods, plugins will not work on iOS or macOS.

    最近在開發(fā)Flutter項目,運行ios環(huán)境的時候報錯沒有CocoaPods,安卓環(huán)境可以正常運行,當時一臉懵逼,網(wǎng)上搜索了一下,有給我講原理的,還有讓我安裝這插件那插件的,最終把電腦搞得卡死,還沒有解決我的問題,其實很多人和我一樣只想解決問題,而不是廢話一大堆的文章

    2024年01月22日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包