İOS 7-də status bar mətninin rəngini necə dəyişdirmək olar?

Mənim ərizim qaranlıq bir fon var, amma iOS 7-də status bar şəffaf oldu. Mən heç bir şey görmürəm, yalnız köşedeki yaşıl batareya göstəricisi. Əsas ekranda olduğu kimi vəziyyəti bar mətninin rəngini ağa necə dəyişdirmək olar?

891
16 июля '13 в 17:11 2013-07-16 17:11 Oleksandr Veremçuk 16 iyul 'da 17:11' də 2013-07-16 17:11 'də soruşdu
@ 52 cavab
  • 1
  • 2
  • UIViewControllerBasedStatusBarAppearance funksiyasını EVET faylına .plist faylında yerləşdirin.

  • viewDidLoad [self setNeedsStatusBarAppearanceUpdate];

  • Aşağıdakı üsulu əlavə edin:

     - (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; } 

Qeyd Bu bir UINavigationController daxilində nəzarətçilər üçün UINavigationController , aşağıdakı Tyson şərhinə baxın :)

Swift 3 . Bu bir UINavigationController daxilində nəzarətçiləri ilə UINavigationController . Bu kodunuzu nəzarətçi daxilində əlavə edin.

 // Preferred status bar style lightContent to use on dark background. // Swift 3 override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent } 
1269
21 июля '13 в 6:36 2013-07-21 06:36 Cavab Peter B. Kramer tərəfindən 21 İyul, 'da saat 6:36' da veriləcək 2013-07-21 06:36

Alternativ olaraq, idarəetmə panelindəki vəziyyət çubuğunun görünüşünü söndürə bilərsiniz:

  • Info.plist NO View controller-based status bar appearance .
  • [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
border=0

Qeyd Bu metod iOS9-da əvəzsizdir. Bunun yerinə, UIViewController üstündə preferredStatusBarStyle istifadə edin. ( Apple Developer Kitabxanasına baxın )

830
12 авг. Cavab wilsontgh 12 aug verilir . 2013-08-12 13:35 '13 'da 13:35' də 2013-08-12 13:35

Bunu tək bir kod xətti yazmadan edə bilərsiniz!
Durum çubuğundaki metin renginin proqram boyunca beyaz olması üçün aşağıdakıları yapın.

Plist layihəsi faylında :

  • Status bar stili: Transparent black style (alpha of 0.5)
  • Denetleyiciye göre durum çubuğunun durumunu görüntüleme: NO
  • Status bar ilk olaraq gizlidir: NO
424
11 сент. Cavab Lucas 11 sep tərəfindən verilir . 2013-09-11 07:47 '13 'da 7:47' də 2013-09-11 07:47

Qeyd Düzgün cavabların əksəriyyəti iOS 7/8 üçün işləmir

Info.plist-də, NO olaraq "View Controller Based Status Bar" seçin

AppDelegate əlavə edin

 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

üçün

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ ...... ... } 

Bu həll iOS 7/8 üçün işləyir

240
23 сент. Pradeep Mahdevu tərəfindən verilmiş cavab 23 sentyabr 2013-09-23 08:11 '13 saat 08:11 'da 2013-09-23 08:11

Mənim üçün başqa cür cavablarda (və digər mənbələrdən / sənədlərdən) hər şeyi istifadə etməmişəm. XİB'deki "Qara" naviqasiya çubuğunun stilini təyin etməyə kömək etdi. Bu, mətni heç bir kod olmadan ağa dəyişdi.

2019

105
12 сент. cavab haraldmartin 12 sep verilir . 2013-09-12 19:42 '13 saat 07:42 'de 2013-09-12 19:42

Bunun heç biri mənim üçün işləməmişdi, buna görə də burada işləyən bir həll var ...

Info.plist üçün aşağıdakı satırı əlavə edin:

UIViewControllerBasedStatusBarAppearance və dəyərini NO təyin edin.

Daha sonra AppDelegate- didFinishLaunchingWithOptions da aşağıdakı xəttləri əlavə edin:

 [application setStatusBarHidden:NO]; [application setStatusBarStyle:UIStatusBarStyleLightContent]; 
90
29 дек. Cavab verilir . 2013-12-29 14:28 '13 'da 14:28' də 2013-12-29 14:28

Bunun üçün hər hansı bir kodun edilməsi lazım deyil.

İnfo.plist-də "Controller-in əsasında nəzarətçi statusu bar görünüşünü bax" əlavə etmək lazımdır: 2019

09 февр. cavab Ajinkya Patil 09 fevral. 2016-02-09 12:00 '16 saat 12:00 'də 2016-02-09 12:00' də

Yalnız iki addım:

Addım 1:

project target "İnformasiya" seksiyasında bir xətt əlavə edin:

UIViewControllerBasedStatusBarAppearance , NO təyin.

Addım 2:

AppDelegate.m layihəsində:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ … [application setStatusBarStyle:UIStatusBarStyleLightContent]; … } 
48
21 дек. cavab 21 dekabrda verilir . 2013-12-21 16:55 '13 saat 16:55 'da 2013-12-21 16:55

18 Sentyabr 2013-cü il tarixli (ən azı naviqasiya nəzarətçi ilə) açıqlanan "Golden Master iOS 7" və "Xcode 5" toxumları GM və iOS7 SDK-da işləyir:

  • Info.plist the UIViewControllerBasedStatusBarAppearance ə NO seçin.

  • ViewDidLoad metodunda və ya status çubuğunun stilini dəyişdirmək istədiyiniz yerdə: [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

41
13 сент. Cavab Deniss Fedotovs tərəfindən verilir . 2013-09-13 11:28 '13 at 11:28 2013-09-13 11:28

UIViewControlleriniz UINavigationController içərisindədirsə, BarStyle-i yükləməlisiniz:

 -[UINavigationBar setBarStyle:UIBarStyleBlack] 

Orijinal cavab burada.

https://devforums.apple.com/message/844264#844264

32
27 сент. Cavab 27 sentyabr Mohit Padalia tərəfindən verilir 2013-09-27 11:16 '13 'da 11:16' də 2013-09-27 11:16

İnterface Builder istifadə edərək yaradılmış daxili naviqasiya nəzarətçi varsa, naviqasiya nəzarətçi nəzarət edən sinifdə aşağıdakıları təyin etməyi unutmayın:

 -(UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent; } 

Bu sizə lazım olan bütün olmalıdır.

28
19 авг. Mətt Bernardoya 19 Avqust cavab verildi . 2013-08-19 03:41 '13 saat 03:41 'da 2013-08-19 03:41

İOS 7 proqramı üçün Swift-da Xcode 6 beta 5 istifadə edirəm.

Bu mənim etdiyim işlərdir və işləyir:

info.plist:

2019

26
21 авг. cavab fancoolo 21 avqustda verilir . 2014-08-21 01:34 '14 at 1:34 2014-08-21 01:34

AppDelegate.m ünvanını əlavə edin.

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; } 

Və Plist faylında "View Controller Based Control Panel Status" funksiyasını NO olaraq təyin edin.

22
06 сент. cavab neo D1 06 sep verilir. 2014-09-06 07:09 '14 at 7:09 2014-09-06 07:09

Bəli, həqiqətən mənim üçün bir parça tort kimi işləyir.

info.plist tətbiqini açın.

  • View controller-based status bar appearance NO
  • Status bar style UIStatusBarStyleLightContent ə UIStatusBarStyleLightContent

Sonra ərizə nümayəndəsinə keçin və RootViewController pəncərələrini quraşdırdığınız aşağıdakı kodu yapışdırın.

 #define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending) if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) { UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0,320, 20)]; view.backgroundColor=[UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:1.0]; [self.window.rootViewController.view addSubview:view]; } 

Bingo Mənim üçün işləyir.

20
10 янв. Cavab 10 yanvarda Şahid İqbal tərəfindən verilir . 2014-01-10 15:40 '14 saat 15:40 'də 2014-01-10 15:40

Yalnız Appdelegate

 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 
20
16 янв. Cavab 16 yanvar Vivek Sehrawat tərəfindən verilir 2014-01-16 20:34 '14 saat 20:34 2014-01-16 20:34
  • ProjectTarget ,

  • Sonra Status Bar Style Light qurun. Bu vəziyyət barı başlanğıc ekranından ağ edir. 2019

31 мая '16 в 4:46 2016-05-31 04:46 Cavab Wanbok Choi tərəfindən May 31, '16 4:46 2016-05-31 04:46 'də verilir

iOS 7, fərdi görünüşü nəzarət edənlərə Apple tərtibatçı sənədlərində göstərildiyi kimi status çubuğunun görünüşünü təyin etməyə imkan verir:

iOS 7, görünüşü denetleyicilerine proqram çalışırken durum çubuğunun stilini özelleştirmek imkanı verir. Status çubuğunun stilini dinamik şəkildə dəyişdirmək üçün yaxşı bir üsul setNeedsStatusBarAppearanceUpdate və animasiya blokunun içərisində status bar görünüşünü yeniləyin və setNeedsStatusBarAppearanceUpdate .

Qlobal səviyyədə status çubuğunun görünüşünü konfiqurasiya etmək iki addımdır.

Birincisi, iOS-yə vəziyyəti bar görünüşünü görünüş rejimində təyin etmək istəmədiyinizi bildirməlisiniz.

Sonra məsuliyyət almaq və statusu bar yeni qlobal stil yüklemek lazımdır.

View controller-based status bar appearance nəzarətini aradan qaldırmaq üçün Info.plist View controller-based status bar appearanceView controller-based status bar appearance Info.plist .

Layihə Naviqatorunu açın və iOS tətbiqi üçün layihəni seçin, sonra Məlumat sekmesini seçin.

Bir xətt üzərində hover üzərinə .plist , sonra da .plist yeni bir əmlak əlavə edən əlavə .plist .

Key View controller-based status bar appearance daxil edin və sonra Tip sahəsi Boolean təyin olunduğunu təsdiqləyin. Nəhayət, dəyər sahəsində NO daxil edin.

Durum çubuğuna genel bir stil ayarlamak için, Status bar style tuşunu, bir String türünü ve Opaque black style değerlerini Opaque black style Bilgi sekmesinde Opaque black style .

Burada bəzi daha çox məlumat və bəzi nümunə kodu olan bir blog yazısı var:

http://codebleep.com/setting-the-status-bar-text-color-in-ios-7/

17
10 дек. Josh Earl tərəfindən verilmiş cavab 10 dekabr. 2013-12-10 16:47 '13 saat 16:47 'da 2013-12-10 16:47

Xcode GM Tohumu üçün cavab yeniləndi:

  • Info.plist View controller-based status bar appearance NO

  • Layihədə aşağıdakıları qeyd edin:

    2019

12
16 сент. Cavab parilogic tərəfindən verildi 16 sep . 2013-09-16 09:43 '13 at 9:43 2013-09-16 09:43

Çox ehtiyac yoxdur, yalnız bu kodu sizin viewControllerinizə yazın və vəziyyəti rəngini ağla əldə edin

 - (UIStatusBarStyle)preferredStatusBarStyle{return UIStatusBarStyleLightContent;} 
11
27 сент. Cavab Mohit tomar tərəfindən verilib 27 sentyabr. 2013-09-27 11:49 '13 at 11:49 2013-09-27 11:49

Hesab edirəm ki, bütün cavablar həqiqətən bir problemi göstərmir, çünki onların hamısı müəyyən ssenarilərdə işləyir. Amma bütün halları əhatə etməliyəmsə, aşağıdakı adımları edin:

Status bar stilinə ehtiyac duyduğunuz yerdən asılı olaraq, həmişə bu 3 bal nəzərə alınmalıdır:

1) Başlanğıc ekranında və ya nəzarət edə bilməyəcəyi digər yerlərdə (nəzarətçiləri yox, sistem tərəfindən idarə olunan bəzi elementlər / anlar) başlanğıc ekranı kimi bir status çubuğuna ehtiyacınız varsa, layihə parametrlərinə 2019

17 сент. Sep 17-də Fawkes tərəfindən verilmiş cavab 2015-09-17 16:18 '15 'də 16:18' də 2015-09-17 16:18

Yalnız zəng

 [[UINavigationBar appearance] setBarStyle:UIBarStyleBlack]; 

in

 -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { } 

Mənim AppDelegate üsulu iOS7-də mənim üçün böyük işləyir.

10
10 нояб. Cavab Çağdaş Altınkaya 10 noyabrda verilir . 2013-11-10 23:07 '13 at 23:07 2013-11-10 23:07

Swift istifadə edərək eyni nəticə əldə etmək istəyirsinizsə, bu kodu AppDelegate.swift faylında istifadə edə bilərsiniz:

 UINavigationBar.appearance().barStyle = .BlackTranslucent 

Və status bar mətni ağ olacaq :-)!

8
10 янв. fraxool cavab verildi Jan 10 2016-01-10 22:30 '16 saat 10:30 'da 2016-01-10 22:30

Bu, birbaşa giriş üçün bir Apple developer ID lazım olan iOS 7 UI Köçəri Kılavuzu'nda təsvir olunur. Müvafiq çıxarış:

Status bar şəffaf olduğundan arxasında olan tarama göstərir. [...] UIStatusBarStyle sabitini statusu çubuğunun məzmunu qaranlıq və ya işıqlı olmalı olduğunu göstərmək üçün istifadə edin:

UIStatusBarStyleDefault qaranlıq məzmunu göstərir. [...]

UIStatusBarStyleLightContent yüngül məzmunu göstərir. Qaranlıq məzmun statusu çubuğunun arxasında olduğunda istifadə edin.

Həm də mümkün maraq:

İOS 7-də, statusu bar stilini ayrı bir vyu nəzarətçisindən idarə edə və tətbiqi işləyərkən dəyişə bilərsiniz. Bu davranışa iştirak etmək üçün, UIViewControllerBasedStatusBarAppearance düyməsini Info.plist tətbiq Info.plist və onu YES ə qurun.

Şübhəsiz ki, yenə də Apple Developer ID istifadə edə bilərsiniz olan sənəd baxılması gəlir.

8
16 июля '13 в 17:24 2013-07-16 17:24 Cavab Aaron Miller tərəfindən 16 İyul 2013, 17:24 'də verilir

İnfo.plist faylında NO sahəsinin dəyərini təyin edin. Denetleyiciye əsaslanan status çubuğunun görünüşünə baxın və hədəfdə ümumi vəziyyətdə işıq bar stilini təyin edin.

7
30 марта '15 в 8:06 2015-03-30 08:06 Cavab 30 mart, saat 15 : 00 -da veriləcək

Bir az iş görmüşəm və mənim üçün işləyir.

Koddakı bir dəyişiklik olmadan mənim .plist faylını aşağıdakı kimi quraşdırdım:

  • Nəzarətçiyə əsaslanan status çubuğunu baxın> NO
  • Status bar stili> UIStatusBarStyleLightContent (sadə simli)

Bu kömək edir.

Change

Hər bir görünüşü nəzarətçi üçün, mənim hekayə panelində "Metrik sintaksis" xüsusiyyətini "simli" dən "yüngül"

7
22 сент. Felipe Antonio Cardoso tərəfindən verilmiş cavab 22 sentyabr 2013-09-22 16:54 '13 at 16:54 2013-09-22 16:54

Sənin sualına tam cavab verim. Status çubuğunda mətn rənginin dəyişdirilməsi çox sadədir, amma xüsusilə yeni başlayanlar üçün iOS 7-də bir az qarışıqdır.

Görünüşü nəzarətçi seçərək və sağ tərəfdə Simulated Metrics-ə keçərək Rəngləri qara-ağda rəng dəyişdirməyə çalışırsan, bu işləmir və mən niyə bilmirəm. Bu şəkildə dəyişmək lazımdır, lakin hər hansı bir şəkildə.

İkincisi, plistinizdə UIViewControllerBasedStatusBarAppearance əmlakını tapa bilməyəcəksiniz, ancaq default yoxdur. + Düyməsinə basaraq özünüzü əlavə etməlisiniz və dəyəri NO olaraq təyin edin.

Status barında mətn rəng 7

Nəhayət, AppDelegate.m faylına getmək və didFinishLaunchingWithOptions üsuluna aşağıdakıları əlavə etmək lazımdır:

  [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

Bütün kontrolörleriniz üçün renk değiştirecektir. Bu kömək edir!

7
30 июня '15 в 20:38 2015-06-30 20:38 Cavab Amit Şelqonkar tərəfindən 30 iyun 'da saat 20:38' də verilir. 2015-06-30 20:38

Hələ YES -ə dəyəri təyin etmək üçün .plist View controller-based status bar appearanceView controller-based status bar appearance məlumatını istifadə etmək istəyirsinizsə, bu, hər bir görünüşü nəzarətçi üçün status çubuğunu dəyişə bilərsiniz, ViewDidLoad'daki status çubuğunda ağ mətn üçün aşağıdakıları istifadə edin:

 [[[self navigationController] navigationBar] setBarStyle:UIBarStyleBlackTranslucent]; 
7
05 февр. cavab eirik tərəfindən verilir 05 fevral. 2015-02-05 15:28 '15 'da 15:28' de 2015-02-05 15:28

Xülasə etmək üçün Info.plist layihəsini redaktə edin və əlavə edin:

View controller-based status bar appearance : NO

Status bar style : Opaque black style

və ya xam bir açar / dəyər plistiniz varsa

UIViewControllerBasedStatusBarAppearance : NO

UIStatusBarStyle : UIStatusBarStyle Opaque black style

6
08 окт. Cavab budidino 08 oct tərəfindən verilir . 2014-10-08 17:17 '14 at 17:17 2014-10-08 17:17

Bu işin açarı yalnız tam ekran görünüşlü nəzarətçi vəziyyət barının tərzini diktə etməlidir.

Bir naviqasiya nəzarət cihazı istifadə edirsinizsə və hər bir görünüş nəzarətçisində statusu çubuğunu idarə etmək istəyirsinizsə, UINavigationController alt sinfi və preferableStatusBarStyle tətbiqini topViewController üstünlüyü qaytarması lazımdır.

UINavigationControllerdən alt sinifə (məsələn, aşağıdakı misalda MyNavigationController) storyboard səhnəsində sinif referansını dəyişdiyinizə əmin olun.

(Aşağıdakılar mənim üçün işləyir. Əgər ərizə TabBar-a əsaslanırsa, UITabBarController alt sinifində bu kimi bir şey etmək istəyirəm, amma bunu sınamadım).

 @interface MyNavigationController : UINavigationController @end @implementation MyNavigationController - (UIStatusBarStyle)preferredStatusBarStyle { return self.topViewController.preferredStatusBarStyle; } @end 
5
16 окт. Juddster tərəfindən verilmiş cavab 16 oktyabr 2013-10-16 21:21 '13 'da 21:21' də 2013-10-16 21:21
  • 1
  • 2

əlaqədar digər suallar və ya bir sual