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: แต่ฉันไม่สามารถระบุได้ซึ่งเป็นตัวควบคุมมุมมองปัจจุบัน ณ จุดนั้น ใครรู้วิธีที่เหมาะสมในการจัดการกับเรื่องนี้? ฉันแน่ใจว่าฉันขาดวิธีแก้ปัญหาที่ชัดเจน