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

คลาส UIViewController จะจัดการมุมมองในแอพ iOS และเป็นสื่อกลางในการโต้ตอบระหว่างมุมมองของแอพอ็อบเจ็กต์โมเดลพื้นฐานและเวิร์กโฟลว์โดยรวม

30
การส่งผ่านข้อมูลระหว่างตัวควบคุมมุมมอง
ฉันยังใหม่กับ iOS และ Objective-C และกระบวนทัศน์ MVC ทั้งหมดและฉันติดอยู่กับสิ่งต่อไปนี้: ฉันมีมุมมองที่ทำหน้าที่เป็นแบบฟอร์มการป้อนข้อมูลและฉันต้องการให้ตัวเลือกแก่ผู้ใช้ในการเลือกผลิตภัณฑ์หลายรายการ ผลิตภัณฑ์มีการระบุไว้ในมุมมองอื่นด้วยUITableViewControllerและฉันได้เปิดใช้งานการเลือกหลายรายการ คำถามของฉันคือฉันจะถ่ายโอนข้อมูลจากมุมมองหนึ่งไปยังมุมมองอื่นได้อย่างไร ฉันจะเลือกสิ่งที่อยู่UITableViewในอาร์เรย์ แต่ฉันจะส่งกลับไปยังมุมมองฟอร์มการป้อนข้อมูลก่อนหน้าได้อย่างไรเพื่อให้สามารถบันทึกพร้อมกับข้อมูลอื่น ๆ ไปยัง Core Data เมื่อส่งแบบฟอร์ม ฉันได้ท่องไปรอบ ๆ และเห็นบางคนประกาศอาร์เรย์ในตัวแทนแอพ ฉันอ่านบางอย่างเกี่ยวกับ Singletons แต่ไม่เข้าใจว่าสิ่งเหล่านี้คืออะไรและฉันอ่านบางอย่างเกี่ยวกับการสร้างแบบจำลองข้อมูล อะไรจะเป็นวิธีที่ถูกต้องในการทำสิ่งนี้และฉันจะทำอย่างไร

16
จะทราบได้อย่างไรว่ามองเห็นวิวของ UIViewController
ฉันมีแอปพลิเคชันแถบแท็บที่มีมุมมองมากมาย มีวิธีที่จะรู้ได้หรือไม่ว่าในUIViewControllerปัจจุบันนั้นสามารถมองเห็นได้จากภายในUIViewController? (มองหาอสังหาริมทรัพย์)

15
สร้างอินสแตนซ์และนำเสนอ viewController ใน Swift
ปัญหา ฉันเริ่มต้นการดูของใหม่SwiftบนXcode 6และฉันพยายามโครงการสาธิตบางและแบบฝึกหัด ตอนนี้ฉันติดอยู่ที่: สร้างอินสแตนซ์แล้วนำเสนอ a viewControllerจากกระดานเรื่องราวเฉพาะ Objective-C Solution UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"myStoryboardName" bundle:nil]; UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"myVCID"]; [self presentViewController:vc animated:YES completion:nil]; ทำอย่างไรจึงจะได้สิ่งนี้ใน Swift?

11
กำลังมองหาที่จะเข้าใจวงจรชีวิตของ iOS UIViewController
คุณช่วยอธิบายวิธีจัดการUIViewControllerวงจรชีวิตให้ฉันได้ไหม? โดยเฉพาะอย่างยิ่งผมอยากจะทราบวิธีการใช้Initialize, ViewDidLoad, ViewWillAppear, ViewDidAppear, ViewWillDisappear, ViewDidDisappear, ViewDidUnloadและDisposeวิธีการในการโมโนสัมผัสสำหรับUIViewControllerระดับ

30
วิธีค้นหาคอนโทรลเลอร์มุมมองสูงสุดบน iOS
ฉันพบหลายกรณีในขณะนี้ซึ่งจะสะดวกในการค้นหาตัวควบคุมมุมมอง "ระดับบนสุด" (ตัวควบคุมที่รับผิดชอบมุมมองปัจจุบัน) แต่ก็ไม่พบวิธีที่จะทำได้ โดยทั่วไปความท้าทายคือ: ระบุว่าสิ่งหนึ่งกำลังดำเนินการในคลาสที่ไม่ใช่ตัวควบคุมมุมมอง (หรือมุมมอง) [และไม่มีที่อยู่ของมุมมองที่ใช้งานอยู่]และไม่ได้ผ่านที่อยู่ของตัวควบคุมมุมมองสูงสุด ( หรือว่าที่อยู่ของตัวควบคุมทิศทาง) เป็นไปได้หรือไม่ที่จะพบตัวควบคุมมุมมองนั้น (และถ้าเป็นเช่นนั้นได้อย่างไร) หรือล้มเหลวนั้นเป็นไปได้หรือไม่ที่จะพบมุมมองสูงสุด?

22
ตั้งค่าตัวควบคุมมุมมองเริ่มต้นโดยทางโปรแกรมโดยใช้กระดานเรื่องราว
ฉันจะตั้งInitialViewControllerเป็นกระดานเรื่องราวได้อย่างไร ฉันต้องการเปิดกระดานเรื่องราวของฉันให้มีมุมมองที่แตกต่างกันขึ้นอยู่กับเงื่อนไขบางอย่างซึ่งอาจแตกต่างจากการเปิดตัวสู่การเปิดตัว

5
การอธิบายความแตกต่างระหว่างการปรับอัตโนมัติ ScrollViewInsets, ขยายเลย์เอาต์รวมแถบโอเปร่า, ขอบสำหรับขยายขยายเค้าโครงใน iOS7
ฉันอ่านมากเกี่ยวกับการเปลี่ยนแปลง UI ของ iOS7 ผมไม่สามารถที่จะได้รับสิ่งที่ทั้งสามคุณสมบัติautomaticallyAdjustsScrollViewInsets, extendedLayoutIncludesOpaqueBars, edgesForExtendedLayout?? ตัวอย่างเช่นฉันพยายามทำให้ตัวควบคุมมุมมองของฉันเริ่มต้นที่ด้านล่างของแถบสถานะ แต่ฉันไม่สามารถทำมันได้

10
ป้องกันการแยกในวิธีการเตรียมความพร้อมก่อนเริ่ม?
เป็นไปได้ไหมที่จะยกเลิกการทำต่อในprepareForSegue:วิธีการ? ฉันต้องการที่จะทำการตรวจสอบบางอย่างก่อนที่จะทำต่อและถ้าเงื่อนไขไม่เป็นความจริง (ในกรณีนี้ถ้าบางส่วนUITextFieldว่างเปล่า) ให้แสดงข้อความแสดงข้อผิดพลาดแทนการทำต่อ

13
iOS - แอพมอบหมายวิธีการจาก ViewController
สิ่งที่ฉันพยายามทำคือคลิกปุ่ม (ที่สร้างขึ้นในรหัส) และให้มันเรียกตัวควบคุมมุมมองที่แตกต่างกันแล้วให้มันเรียกใช้ฟังก์ชั่นในตัวควบคุมมุมมองใหม่ ฉันรู้ว่ามันสามารถทำได้ค่อนข้างง่ายใน IB แต่นั่นไม่ใช่ตัวเลือก ตัวอย่างของสิ่งที่ฉันต้องการจะทำคือถ้าคุณมีคอนโทรลเลอร์มุมมองสองตัวหนึ่งตัวพร้อมหน้าจอสาด ตัวควบคุมมุมมองอื่นมีการเดินผ่านของบ้านบนที่คุณสามารถผ่านห้องทั้งหมดในลำดับที่กำหนด หน้าจอเริ่มต้นจะมีปุ่มสำหรับแต่ละห้องที่จะอนุญาตให้คุณข้ามไปยังจุดใด ๆ ในระหว่างการเดินเท้า

11
เข้าถึง Container View Controller จาก Parent iOS
ใน iOS6 ฉันสังเกตเห็นมุมมองคอนเทนเนอร์ใหม่ แต่ฉันยังไม่แน่ใจว่าจะเข้าถึงตัวควบคุมได้อย่างไรจากมุมมองที่มีอยู่ สถานการณ์: ฉันต้องการเข้าถึงป้ายกำกับในตัวควบคุมมุมมองการแจ้งเตือนจากตัวควบคุมมุมมองที่บ้านมุมมองคอนเทนเนอร์ มีความแตกต่างระหว่างกันฉันจะใช้มันได้หรือไม่

19
รับ UIViewController ยอดนิยม
ฉันไม่สามารถดูเหมือนจะได้รับด้านบนมากที่สุดโดยไม่ต้องเชื่อมต่อกับUIViewController UINavigationControllerนี่คือสิ่งที่ฉันมี: UIApplication.sharedApplication().keyWindow?.rootViewController?.presentViewController(vc, animated: true, completion: nil) อย่างไรก็ตามมันดูเหมือนจะไม่ทำอะไรเลย keyWindowและrootViewControllerดูเหมือนจะเป็นค่าที่ไม่ใช่ศูนย์เกินไปดังนั้นการผูกมัดตัวเลือกที่ไม่ควรจะมีปัญหา หมายเหตุ: มันเป็นความคิดที่ดีที่จะทำสิ่งนี้ มันแบ่งรูปแบบ MVC

30
การเปลี่ยนสีของแถบสถานะสำหรับ ViewControllers ที่ระบุโดยใช้ Swift ใน iOS8
override func preferredStatusBarStyle() -> UIStatusBarStyle { return UIStatusBarStyle.LightContent; } โดยใช้โค้ดข้างต้นใน ViewController ใด ๆ ในการตั้งค่าสีสถานะสีขาวสำหรับเฉพาะ ViewController ไม่ได้ทำงานใน iOS8 สำหรับฉัน ข้อเสนอแนะใด ๆ การใช้วิธี UIApplication.sharedApplication สีจะเปลี่ยนไปหลังจากการเปลี่ยนแปลงที่จำเป็นใน Info.plist สำหรับแอปทั้งหมด // Change the colour of status bar from black to white UIApplication.sharedApplication().statusBarStyle = .LightContent ฉันจะเปลี่ยนสีแถบสถานะสำหรับViewControllers ที่ต้องการและเจาะจงได้อย่างไร

30
วิธีการตั้งค่า Status Bar Style ใน Swift 3
ฉันใช้ Xcode 8.0 beta 4 ในเวอร์ชันก่อนหน้า UIViewController มีวิธีการตั้งค่าสไตล์แถบสถานะ public func preferredStatusBarStyle() -> UIStatusBarStyle อย่างไรก็ตามฉันพบว่ามันเปลี่ยนเป็น "Get varaiable ONLY" ใน Swift 3 public var preferredStatusBarStyle: UIStatusBarStyle { get } ฉันจะจัดเตรียมสไตล์ที่จะใช้ใน UIViewController ของฉันได้อย่างไร


17
เพิ่ม UIView เหนือสิ่งอื่นใดแม้แต่แถบการนำทาง
ฉันต้องการแสดงเหนือมุมมองอื่น ๆ แม้แต่แถบการนำทางมุมมอง "ป๊อปอัป" ที่มีลักษณะเช่นนี้: พื้นหลังสีดำแบบเต็มหน้าจอที่มี 0.5 อัลฟาเพื่อดูUIViewControllerด้านล่าง UIViewหน้าต่างอยู่ตรงกลางที่มีข้อมูลบางส่วน (ปฏิทินถ้าคุณต้องการที่จะรู้ทุกอย่าง) ในการทำเช่นนั้นฉันได้สร้าง UIViewController ที่มีสองUIViews(พื้นหลังและหน้าต่าง) และฉันพยายามที่จะแสดงมัน ฉันลองง่ายๆ[mySuperVC addSubview:myPopUpVC.view]แต่ฉันยังคงมีแถบนำทางด้านบน ฉันพยายามที่จะนำเสนอมันเป็นกิริยาช่วย แต่UIViewControllerข้างใต้หายไปและฉันสูญเสียผลโปร่งใสของฉัน ความคิดใด ๆ ที่จะทำเช่นนี้ฉันแน่ใจว่ามันค่อนข้างง่าย ... ขอบคุณ!

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