คำถามติดแท็ก uinavigationbar

คลาส UINavigationBar ใช้ตัวควบคุมสำหรับการนำทางเนื้อหาตามลำดับชั้นใน iOS โดยทั่วไปจะเป็นแถบที่ด้านบนของหน้าจอซึ่งมีปุ่มสำหรับนำทางขึ้นและลงตามลำดับชั้น คุณสมบัติหลักคือปุ่มซ้าย (ย้อนกลับ) ชื่อกลางและปุ่มขวาที่เป็นทางเลือก คุณสามารถระบุมุมมองที่กำหนดเองสำหรับแต่ละมุมมอง วิธีที่ใช้บ่อยที่สุดในการใช้แถบนำทางร่วมกับวัตถุ UINavigationController

18
แถบนำทางแถบสีอ่อนและสีข้อความใน iOS 8
ข้อความพื้นหลังในแถบสถานะยังคงเป็นสีดำ ฉันจะเปลี่ยนสีเป็นสีขาวได้อย่างไร? // io8, swift, Xcode 6.0.1 override func viewDidLoad() { super.viewDidLoad() self.navigationController?.navigationBar.barTintColor = UIColor.blackColor() self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.orangeColor()] }

16
ได้สีที่สดใสและสดใสสำหรับ iOS 7 โปร่งแสง UINavigationBar
iOS 7.1 UPDATE : ดูเหมือนว่าวิธีแก้ไขปัญหาสำหรับการปรับเปลี่ยนช่องอัลฟาใน UINavigationBar นั้นถูกข้ามไปในการอัพเดทนี้ ตอนนี้ทางออกที่ดีที่สุดดูเหมือนจะเป็นเพียง 'จัดการกับมัน' และหวังว่าสีที่คุณเลือกจะทำให้เอฟเฟกต์โปร่งแสง ฉันยังคงมองหาวิธีในการแก้ไขปัญหานี้ iOS 7.0.3 UPDATE : ไลบรารี GitHub ที่เราสร้างได้รับการอัปเดตเพื่อแก้ไขปัญหานี้เล็กน้อยเมื่อใช้ iOS 7.0.3 น่าเสียดายที่ไม่มีสูตรเวทย์มนตร์ที่จะรองรับทั้งสีที่สร้างใน iOS 7.0.2 และก่อนหน้านี้และ iOS 7.0.3 ดูเหมือนว่าแอปเปิลจะปรับปรุงความอิ่มตัวของสี แต่ด้วยค่าความทึบ (เนื่องจากความโปร่งแสงเบลอนั้นขึ้นอยู่กับระดับความทึบ) ฉันพร้อมกับคนอื่นไม่กี่คนกำลังทำงานเพื่อสร้างการแก้ไขที่ดีกว่าสำหรับสิ่งนี้ ฉันแน่ใจว่าคนจำนวนมากได้เจอปัญหาที่ iOS 7 มีแนวโน้มที่จะทำให้สีของ UINavigationBar ที่โปร่งแสงหมดไป เป้าหมายของฉันคือการบรรลุ UINavigationBar ด้วยสีอ่อนนี้ แต่โปร่งแสง: อย่างไรก็ตามด้วยความโปร่งใสฉันได้รับสิ่งนี้ มุมมองพื้นหลังเป็นสีขาวซึ่งฉันเข้าใจจะทำให้มุมมองนี้เบาขึ้น: มีวิธีใดบ้างที่จะทำให้ได้สีดั้งเดิมในขณะที่ยังมีความโปร่งแสงอยู่? ฉันสังเกตว่า Facebook สามารถทำให้แถบของพวกเขากลายเป็นสีฟ้าที่ร่ำรวยดังที่แสดงไว้ที่นี่: .. ดังนั้นฉันรู้ว่าจะต้องมีวิธีใด เห็นได้ชัดว่าพื้นหลังสร้างความแตกต่างได้ที่นี่ แต่เนื้อหาส่วนใหญ่ของพวกเขายังเป็นสีเทา …

11
แถบการนำทางแสดง / ซ่อน
ฉันมีแอพที่มีแถบนำทางซึ่งประกอบด้วยปุ่ม 2 ปุ่ม ฉันต้องการซ่อนและแสดงแถบนำทางนี้เมื่อผู้ใช้แตะหน้าจอสองครั้ง เริ่มแรกควรซ่อนแถบการนำทาง เมื่อผู้ใช้แตะหน้าจอสองครั้งแถบนำทางควรปรากฏขึ้นพร้อมกับภาพเคลื่อนไหวเช่นเดียวกับที่สามารถเห็นได้ในแกลเลอรี่รูปภาพของ iPhone ฉันจะทำสิ่งนี้ได้อย่างไร ข้อเสนอแนะได้รับการชื่นชมเสมอ

13
กรอบคำเตือนสำหรับ“ แถบการนำทาง” จะแตกต่างกันในขณะใช้งานปรากฏใน Xcode 8 Swift 3
ก่อนที่ฉันจะอัปเกรดเป็นXcode 8ฉันไม่เห็นข้อผิดพลาดนี้ในกรณีดังกล่าว ฉันมีตัวควบคุมทิศทางที่แตกต่างกัน Frame for "Navigation bar" will be different at the run time. Navigation bar "Expected: width=384, Actual: width=375สำหรับพวกเขาทั้งหมดผมเห็นข้อผิดพลาด Navigation barในความเป็นจริงเหล่านี้ควบคุมการเดินเรือไม่ได้ Navigation barมีอยู่สำหรับผู้ชมย่อย อย่างไรก็ตามผมสามารถแก้ได้โดยเห็บและยกเลิกการเลือกช่องทำเครื่องหมายในShows navigation bar Attributes inspectorแต่น่าเสียดายทุกครั้งที่ฉันเปิดMain.storyboardคำเตือนนี้อีกครั้งจะปรากฏขึ้นอีกครั้ง นอกจากนี้ถ้าฉันคลิกที่สามเหลี่ยมสีเหลืองและจากนั้นในเฟรมอัพเดทไม่มีอะไรเกิดขึ้น

10
เห็นแถบสีดำที่ด้านบนและด้านล่างของ iPhone X Simulator
เรียกใช้แอพของฉันใน iPhone X Simulator (GM Seed) ฉันสังเกตเห็นเอฟเฟกต์แปลก ๆ สองอย่าง: แอปไม่ใช้พื้นที่เต็มหน้าจอ (พื้นที่ด้านบนและด้านล่างเป็นสีดำ) แถบสีขาวแปลก ๆ ใต้แถบชื่อเรื่อง มีใครรู้บ้างว่าเกิดอะไรขึ้นที่นี่และจะแก้ไขได้อย่างไร ฉันไม่พบการตั้งค่าใหม่ในตัวสร้างอินเทอร์เฟซ

13
รับความสูงของแถบนำทางโดยทางโปรแกรม
ฉันรู้ว่าการมีอยู่ของตัวควบคุมมุมมองเพิ่มเติม (แถบการนำทาง) ผลัก UIView ลงตามความสูง ฉันก็รู้ว่าความสูงนี้ = 44px [self.view].frame.origin.y = 0ฉันได้ค้นพบว่าการผลักดันลงนี้รักษา ดังนั้นฉันจะกำหนดความสูงของแถบนำทางได้อย่างไรนอกเหนือจากการตั้งค่าเป็นค่าคงที่ได้อย่างไร หรือรุ่นที่สั้นกว่าฉันจะทราบได้อย่างไรว่า UIView ของฉันแสดงพร้อมแถบนำทางด้านบน หลอดไฟเริ่มเข้ามา น่าเสียดายที่ฉันไม่ได้ค้นพบวิธีที่เหมือนกันในการแก้ไขปัญหาดังที่อธิบายไว้ด้านล่าง ฉันเชื่อว่าปัญหาทั้งหมดของฉันมุ่งเน้นไปที่งานรับอัตโนมัติของฉัน และเหตุผลที่ฉันได้ข้อสรุปว่ามีอาการเดียวกันอยู่โดยมีหรือไม่มี UIWebView และอาการนั้นก็คือทุกอย่างนั้นมีสีพีชสำหรับรูปคน สำหรับแนวนอน UIButton ส่วนใหญ่ที่อยู่ด้านล่างจะปรากฏขึ้นด้านหลัง TabBar ตัวอย่างเช่นฉันมี UIView หนึ่งรายการจากบนลงล่าง: UIView - ทั้งชุดสปริง (ตัวพิมพ์ดีฟอลต์) และไม่มี struts UIScrollView - ถ้าฉันตั้งค่าสปริงทั้งสองและล้างทุกอย่างอื่น (เช่น UIView) UIButton จะบุกรุกวัตถุบนเหนือมันทันที หากฉันล้างทุกอย่าง UIButton จะใช้ได้ แต่สิ่งที่ซ่อนอยู่ด้านบนสุดด้านหลัง StatusBar การตั้งค่าเฉพาะ strut ด้านบน UIButton …

25
จะลบเส้นขอบของ navigationBar อย่างรวดเร็วได้อย่างไร?
ฉันพยายามลบเส้นขอบ navigationBars โดยไม่มีโชค ฉันได้ค้นคว้าและดูเหมือนว่าผู้คนจะบอกให้ตั้งค่า shadowImage และ BackgroundImage เป็นศูนย์ แต่สิ่งนี้ไม่ได้ผลในกรณีของฉัน รหัสของฉัน self.navigationController?.navigationBar.barTintColor = UIColor(rgba: "#4a5866") self.navigationController?.navigationBar.setBackgroundImage(UIImage(named: ""), forBarMetrics: UIBarMetrics.Default) self.navigationController?.navigationBar.shadowImage = UIImage(named: "") ภาพประกอบ:

19
เลียนแบบการซ่อน / แสดงการขยาย / การทำสัญญาแถบนำทางของ Facebook
ในแอพ iOS7 Facebook iPhone ใหม่เมื่อผู้ใช้เลื่อนขึ้นnavigationBarค่อยๆซ่อนตัวเองไปยังจุดที่มันหายไปอย่างสมบูรณ์ จากนั้นเมื่อผู้ใช้เลื่อนลงnavigationBarค่อยๆแสดงตัวเอง คุณจะใช้พฤติกรรมนี้ด้วยตัวเองอย่างไร ฉันรับทราบถึงวิธีแก้ไขปัญหาต่อไปนี้ แต่หายไปทันทีและไม่ได้เชื่อมโยงกับความเร็วของรูปแบบการเลื่อนของผู้ใช้เลย [navigationController setNavigationBarHidden: YES animated:YES]; ฉันหวังว่านี่จะไม่ซ้ำกันเนื่องจากฉันไม่แน่ใจว่าวิธีที่ดีที่สุดในการอธิบายพฤติกรรม "ขยาย / หดตัว"

8
วิธีสร้างแถบการนำทางที่โปร่งใสอย่างสมบูรณ์ใน iOS 7
ฉันต้องการให้ UINavigationBar ในแอพของฉันโปร่งใสและล้างออกด้วย viewcontroller โดยตรง อย่างไรก็ตามรหัสเดียวที่ฉันสามารถค้นหาได้ทำให้มันโปร่งแสง แต่ไม่โปร่งใส ฉันรู้ว่าสิ่งนี้สามารถทำได้ใน iOS 7 เพราะมันถูกใช้ในแอพโน้ต คำถามของฉันคือรหัสที่พวกเขาใช้ทำอะไร

8
IOS7: UIScrollView offset ใน UINavigationController
ขณะนี้ฉันกำลังย้ายแอปของฉันบน iOS 7 และฉันติดอยู่เป็นเวลาหลายชั่วโมงในการจัดการตัวควบคุม / แถบนำทางใหม่ ก่อนหน้านี้เมื่อเรามีตัวควบคุมการนำทางเรามีตัวอย่างข้อมูลดังนี้: UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:[[MainViewController alloc]init]]; ในตัวสร้างอินเทอร์เฟซเรามีตัวเลือกในการตั้งค่าแถบนำทางที่มีอยู่สำหรับมุมมองและทุกอย่างตรงกับเนื้อหาของมุมมองจริง ตกลงตอนนี้ฉันไม่รู้ว่าจะออกแบบอย่างไรให้เหมาะสมกับตัวสร้างอินเทอร์เฟซ ฉันยังมีตัวอย่างข้อมูลเพื่อเริ่มต้นระบบนำทาง อย่างไรก็ตามในตัวสร้างอินเทอร์เฟซสำหรับ MainViewController ของฉันหากฉันตั้งค่าแถบสถานะเป็นแถบนำทางโปร่งแสงหรือทึบแสงฉันจะมีออฟเซ็ต 44px ที่ด้านบน (ดูด้านล่าง) ตัวสร้างอินเทอร์เฟซ _________________________ และผลลัพธ์ ตอนนี้ถ้าฉันตั้งค่าแถบสถานะเป็นไม่มีจะไม่มีการชดเชยที่ด้านบน แต่เนื่องจากมุมมองบนโปรแกรมจำลองมีขนาดเล็กลงเนื่องจากแถบนำทางด้านล่างของมุมมองในตัวสร้างอินเทอร์เฟซจึงถูกตัดออก ตัวสร้างอินเทอร์เฟซ _________________________ และผลลัพธ์ ฉันเดาว่าฉันพลาดอะไรบางอย่างที่นี่จริงๆ แต่ฉันไม่พบหัวข้อหรือข้อมูล Apple ในคู่มือการเปลี่ยน iOS7 เกี่ยวกับเรื่องนั้น ขอบคุณสำหรับความช่วยเหลือของคุณ แก้ไข ดังที่เราเห็นในภาพลูกคนแรกของมุมมองคือ UIScrollView ซึ่งมีป้ายกำกับทั้งสองปัญหาจะไม่ปรากฏขึ้นเมื่อไม่มีมุมมองแบบเลื่อน นอกจากนี้ยังปรากฏหากเป็น UITableView หากป้ายกำกับอยู่นอก UIScrollView จะไม่มีการชดเชยป้ายกำกับนั้น

14
ios แถบนำทางโปร่งใส
ฉันกำลังสร้างแอปและฉันได้เปิดดูบนอินเทอร์เน็ตและฉันสงสัยว่าพวกเขาสร้างแถบนำทางที่โปร่งใสเช่นนี้ได้อย่างไร: ฉันได้เพิ่มสิ่งต่อไปนี้เช่นในผู้ร่วมประชุมของฉัน: UINavigationBar.appearance().translucent = true แต่สิ่งนี้ทำให้ดูเหมือนดังต่อไปนี้: ฉันจะทำให้แถบนำทางโปร่งใสเหมือนภาพแรกได้อย่างไร


10
จะป้องกันไม่ให้ UINavigationBar ครอบคลุมมุมมองด้านบนใน iOS 7 ได้อย่างไร
หลังจากอัปเดตเป็น Xcode 5 แถบการนำทางในมุมมองของแอปทั้งหมดของฉันได้เลื่อนลง นี่คือภาพหน้าจอบางส่วนภาพแรกแสดงทุกอย่างในมุมมองเมื่อดึงลงและภาพที่สองแสดงภาพทั้งหมดโดยไม่ถูกแตะต้อง แถบค้นหาควรขึ้นต้นที่แถบนำทาง ใครทราบว่าฉันจะแก้ไขปัญหานี้ได้อย่างไร แก้ไข: ฉันได้ลองคำแนะนำก่อนหน้านี้: if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) self.edgesForExtendedLayout = UIRectEdgeNone; แต่ให้ผลลัพธ์ที่แปลกมาก อาจเป็นเพราะฉันมี "เมนูสไลด์" ภายใต้ตัวควบคุมมุมมองนี้ซึ่งปรากฏขึ้นเนื่องจากความโปร่งใสของแถบนำทาง

10
UISegmentedControl ด้านล่าง UINavigationbar ใน iOS 7
ฉันจะสร้างUISegmentedControlเป็นส่วนหนึ่งของUINavigationBarด้านล่างได้อย่างไร มีการเชื่อมต่อกับUINavigationBarหรือเป็นมุมมองแยกที่สมบูรณ์ซึ่งเพิ่งเพิ่มเป็นUINavigationControllerมุมมองย่อยไปยังตัวควบคุมมุมมองของ ดูเหมือนว่าเป็นส่วนหนึ่งของUINavigationBarเนื่องจากมีเงาอยู่ด้านล่างแถบ

12
เงาดำบนแถบนำทางระหว่างการเปลี่ยนภาพหลังจากอัปเกรดเป็น Xcode 5.1 และ iOS 7.1
เมื่อฉันนำทางไปมาระหว่างพาเรนต์และคอนโทรลเลอร์รองในตัวควบคุมการนำทางหลักโดยละเอียดฉันเห็นเงาดำทางด้านขวาของแถบนำทางที่ด้านบน เริ่มต้นหลังจากที่ฉันอัปเกรดเป็น Xcode 5.1 รู้สึกหยาบและเสียสมาธิ ฉันจะกำจัดมันได้อย่างไร?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.