मैं एक ऐप लिख रहा हूं और अगर फोन पर बात करते समय उपयोगकर्ता ऐप को देख रहा है तो मुझे दृश्य बदलने की आवश्यकता है।
मैंने निम्नलिखित विधि लागू की है:
- (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 :, से, लेकिन मैं उस बिंदु पर वर्तमान दृश्य नियंत्रक है जो इंगित करने के लिए प्रतीत नहीं कर सकता।
क्या किसी को इससे निपटने का उचित तरीका पता है? मुझे यकीन है कि मुझे एक स्पष्ट समाधान याद आ रहा है।
isMemberOfClassकर सकते हैं या कर isKindOfClassसकते हैं।
applicationWillEnterForeground:निर्धारित करने के लिए उपयोग करना चाहिए कि आपके आवेदन ने सक्रिय स्थिति में फिर से प्रवेश किया है।