ตอบสนองสีข้อความแถบสถานะการเปลี่ยนแปลงดั้งเดิมใน iOS

ฉันกำลังพัฒนาแอปโดยใช้ React Native ฉันถูกขอให้ตั้งค่าสีข้อความของแถบสถานะเป็นสีขาว

ฉันใช้ส่วนประกอบ StatusBar กับคุณสมบัติ barStyle="light-content" และทำงานได้ค่อนข้างดีบน Android แต่ไม่ใช่บน iOS สีข้อความยังคงเป็นสีดำ

ฉันค้นคว้าเกี่ยวกับเรื่องนี้แล้ว แต่ไม่พบสิ่งใดที่เป็นประโยชน์ ฉันยังพยายามเลือกรูปแบบแถบสถานะแสงบน XCode ดังที่แสดงในภาพต่อไปนี้ แต่ ยังไม่ได้ผล


person Fabrizio    schedule 05.10.2018    source แหล่งที่มา
comment
ลองสิ่งนี้อาจช่วยคุณได้: github.com/RNRF/react-native -เราเตอร์ฟลักซ์/issues/2882   -  person Kuldeep    schedule 05.10.2018
comment
@Kuldeep ฉันได้ตรวจสอบลิงก์นั้นก่อนที่จะเขียนโพสต์นี้ มันไม่ได้ช่วยฉันจริงๆ ฉันกำลังลองหลายอย่างในขณะนี้ แต่ฉันยังคงติดอยู่   -  person Fabrizio    schedule 05.10.2018
comment
@Fabrizio คุณควรเขียนวิธีแก้ปัญหาของคุณเป็นคำตอบและยอมรับเพื่อให้ผู้อื่นที่มาถึงคำถามนี้สามารถเห็นวิธีแก้ปัญหาได้อย่างง่ายดาย (รู้สึกแปลกที่จะตอบคำถามของคุณเอง แต่เป็นเรื่องปกติของ Stack Overflow)   -  person Matei Radu    schedule 05.10.2018
comment
@MateiRadu ตั้งข้อสังเกต!   -  person Fabrizio    schedule 05.10.2018


คำตอบ (3)


ฉันแก้ไขปัญหาแล้ว! ฉันใช้รหัสนี้ในหน้าดัชนีและตั้งค่าสีข้อความเป็นสีขาว:

<StatusBar  barStyle="light-content" translucent={true} />
person hook zou    schedule 26.02.2019

ลองใส่โค้ดนี้ใน DidFinishLaunchingWithOptions ในไฟล์ AppDelegate ของคุณ

UIApplication.shared.statusBarStyle = .lightContent

วัตถุประสงค์ค

 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

และในไฟล์ info.plist ของคุณ ให้ตั้งค่า UIViewControllerBasedStatusBarAppearance เป็น NO

person nishith Singh    schedule 05.10.2018
comment
ฉันลองใช้โค้ดของคุณแล้ว แต่ในขณะที่ฉันกำลังพัฒนาใน React Native ไฟล์ AppDelegate เขียนด้วย Objective C ฉันพยายามค้นหาบรรทัดโค้ดที่คล้ายกันที่เขียนใน Objective C แต่ฉันกำลังดิ้นรนกับมันจริงๆ จนถึงตอนนี้มันยังใช้งานไม่ได้ - person Fabrizio; 05.10.2018
comment
ใน Objective C setStatusBarStyle เลิกใช้แล้ว ฉันยังคงลองใช้บรรทัดโค้ดนั้นอยู่ แต่สีข้อความของแถบสถานะยังคงเป็นสีดำ ฉันคิดว่า React Native เข้ามาแทนที่โค้ดนั้น น่าเศร้าที่ฉันไม่รู้ว่าต้องทำอย่างไร ฉันลืมบอกไปในโพสต์แรกด้วยว่ามีเพียงมุมมองเดียวเท่านั้นที่สีข้อความเป็นสีขาว เมื่อฉันไปที่มุมมองอื่นมันจะเปลี่ยนเป็นสีดำ และเมื่อฉันกลับไปที่มุมมองสีข้อความสีขาว มันก็จะไม่เป็นสีขาวอีกต่อไป แต่เป็นสีดำ มันน่าสับสนจริงๆ - person Fabrizio; 05.10.2018

ฉันแก้ไขปัญหาของฉันแล้ว!

ปัญหามาจากไลบรารี React Native ที่เรียกว่า React Native Navbar ซึ่งกำลังควบคุมแถบสถานะเช่นกัน ฉันต้องตั้งค่าคุณสมบัติ 'เนื้อหาแสง' ในองค์ประกอบนั้น

person Fabrizio    schedule 05.10.2018