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

6
ทำไม viewWillAppear ไม่ถูกเรียกเมื่อแอพกลับมาจากพื้นหลัง
ฉันกำลังเขียนแอพและฉันจำเป็นต้องเปลี่ยนมุมมองหากผู้ใช้กำลังดูแอปขณะคุยโทรศัพท์ ฉันใช้วิธีการต่อไปนี้แล้ว: - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; NSLog(@"viewWillAppear:"); _sv.frame = CGRectMake(0.0, 0.0, 320.0, self.view.bounds.size.height); } แต่จะไม่ถูกเรียกเมื่อแอปกลับสู่เบื้องหน้า ฉันรู้ว่าฉันสามารถนำไปใช้: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(statusBarFrameChanged:) name:UIApplicationDidChangeStatusBarFrameNotification object:nil]; แต่ฉันไม่ต้องการทำสิ่งนี้ ฉันอยากจะวางข้อมูลเลย์เอาต์ทั้งหมดของฉันไว้ในเมธอด viewWillAppear: และให้สถานการณ์นั้นเป็นไปได้ทั้งหมด ฉันได้ลองเรียกใช้ viewWillAppear: จาก applicationWillEnterForeground: แต่ฉันไม่สามารถระบุได้ซึ่งเป็นตัวควบคุมมุมมองปัจจุบัน ณ จุดนั้น ใครรู้วิธีที่เหมาะสมในการจัดการกับเรื่องนี้? ฉันแน่ใจว่าฉันขาดวิธีแก้ปัญหาที่ชัดเจน

4
UIViewController viewDidLoad เทียบกับ viewWillAppear: การแบ่งงานที่เหมาะสมคืออะไร?
ฉันมีความไม่ชัดเจนอยู่เสมอเกี่ยวกับประเภทของงานที่ควรกำหนดให้viewDidLoadกับ vs. viewWillAppear: ในUIViewControllerคลาสย่อย เช่นฉันกำลังทำแอพที่ฉันมีUIViewControllersubclass กดปุ่มเซิร์ฟเวอร์รับข้อมูลป้อนไปยังมุมมองแล้วแสดงมุมมองนั้น อะไรคือข้อดีข้อเสียของการทำเช่นนี้viewDidLoadกับviewWillAppear?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.