didRotateFromInterfaceOrientation
'un iOS 8'de kullanımdan kaldırıldığını anlıyorum; ancak iOS7 ile uyumlu kalması gereken bir uygulama var. Sorun şu ki, cihaz döndürüldüğünde (bu durumda iPad) bu yönteme iki kez denir. Bu, simülatörün yanı sıra gerçek bir cihazda gerçekleşir. Bunu gösterme yöntemine bir NSLog koymuştum. didRotateFromInterfaceOrientation ateşleme Döndürülmüş iki kez
-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
NSLog(@"didRotateCalled");
}
Ben de
willRotateToInterfaceOrientation
kontrol ettiniz ancak bir doğru yalnızca bir kez denilen alma çalışır.
didRotateFromInterfaceOrientation
yönteminin her dönüşte iki kez neden ateşleneceği hakkında herhangi bir düşünce var mı?
. İlginç bir şeyin açığa çıktığı bir kırılma noktası koydum. Bu görünüm bir UISplitviewcontroller
olup, yöntemin ilk olarak UISplitviewcontroller
için ve daha sonra UIViewController
olarak adlandırılmış gibi görünüyor. Emin değilim neden ...
Bazı ek bilgiler. IPhone ve diğer iPad için Storyboard'ları kullanıyorum. IPhone, splitViewController
'u kullanmaz.
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
UISplitViewController *splitViewController = (UISplitViewController *)self.view.window.rootViewController;
splitViewController.delegate = segue.destinationViewController;
}
'fromInterfaceOrientation' öğesini yazdırın. Ne alıyorsun? –
, kullandığınız ViewController sınıflarını ve "didRotateFromInterfaceOrientation" öğesini uyguladığınız yeri listeler.Sizin yönteminiz farklı örneklerden veya sınıf ve üst sınıftaki kodlardan çağrılabilir. – Christian
Master split bir UITableViewController ve detay bölümü bir UIViewController. Ana tarafta bir hücre seçildiğinde, ayrıntı uygun içeriğe "değiştirilir". Kodumda preareForSegue'deki kurulumun üstünde görebilirsiniz. – C6Silver