Saya sedang menulis aplikasi dan saya perlu mengubah tampilan jika pengguna melihat aplikasi sambil berbicara di telepon.
Saya telah menerapkan metode berikut:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSLog(@"viewWillAppear:");
_sv.frame = CGRectMake(0.0, 0.0, 320.0, self.view.bounds.size.height);
}
Tapi itu tidak dipanggil ketika aplikasi kembali ke latar depan.
Saya tahu bahwa saya dapat menerapkan:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(statusBarFrameChanged:) name:UIApplicationDidChangeStatusBarFrameNotification object:nil];
tetapi saya tidak ingin melakukan ini. Saya lebih suka meletakkan semua informasi tata letak saya di metode viewWillAppear:, dan biarkan itu menangani semua skenario yang mungkin.
Saya bahkan sudah mencoba memanggil viewWillAppear: from applicationWillEnterForeground :, tapi saya tidak bisa menunjukkan dengan tepat yang mana merupakan view controller saat ini.
Adakah yang tahu cara yang tepat untuk menangani ini? Saya yakin saya kehilangan solusi yang jelas.
isMemberOfClass
atau isKindOfClass
, tergantung pada kebutuhan Anda.
applicationWillEnterForeground:
untuk menentukan kapan aplikasi Anda telah memasuki kembali status aktif.