Nasıl denetleyicisi oryantasyon görünümünde zorlamak için iOS 8?
Önce 8 ile birlikte aşağıdaki kodu kullandık iOSsupportedİnterfaceOrientationsveshouldAutoRotatetemsilci belirli bir yönelim için app yönlendirme zorlama yöntemleri. Program aracılığıyla istediğiniz yönlendirmeye uygulaması döndürmek için aşağıdaki kod parçası kullanılır. İlk olarak, durum çubuğu yönünü değiştiriyorum. Ve sonra sadece zararlı ve hemen kalıcı bir görünüm kayıtsız istenen yönlendirmeye görünümü döndürür.
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:YES];
UIViewController *c = [[UIViewController alloc]init];
[self presentViewController:vc animated:NO completion:nil];
[self dismissViewControllerAnimated:NO completion:nil];
Ama bu iOS 8'de başarısız oluyor. Ayrıca, insanlar her zaman iOS 8'lerden itibaren bu yaklaşım kaçınmalıyız önerdi burada yığın taşması bazı cevaplar gördüm.
Daha spesifik olmak gerekirse, benim uygulama evrensel bir türüdür. Toplam üç denetleyicileri var.
İlk Görünüm denetleyicisi- İPad tüm yönleri ve yalnızca dikey (ev düğmesini basılı) iPhone destek vermeli.
İkinci Görünüm denetleyicisi- Sadece manzara değil her koşulda destek olmalıdır
Üçüncü Görünüm denetleyicisi- Sadece manzara değil her koşulda destek olmalıdır
Sayfa gezinme için kumanda navigasyon kullanıyoruz. Düğmesine basarak bir eylem ilk görünümü denetleyicisi, yığın ikinci bastırıyorlar. İkinci görünüm denetleyicisi, cihaz yönelimi ne olursa olsun geldiğinde, app manzara değil sadece kilitlemek gerekir.
Aşağıda shouldAutorotate
supportedInterfaceOrientations
yöntemleri ikinci ve üçüncü görünümünde benim denetleyicisi.
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskLandscapeRight;
}
-(BOOL)shouldAutorotate {
return NO;
}
Bunun için herhangi bir çözüm veya iOS 8 için belirli bir yönde görünümü denetleyicisi kilitleme herhangi iyi bir yol yoktur. Yardım lütfen!!
CEVAP
7 & 8 iOS:
Objective-C:
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeLeft];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
Swift:
let value = UIInterfaceOrientation.LandscapeLeft.rawValue
UIDevice.currentDevice().setValue(value, forKey: "orientation")
Sadece sunulan görünüm denetleyicisi - viewDidAppear:
Ara.
Nasıl bir UİViewController iOS 6'da or...
Nasıl benim zorlamak için .NET Windows...
nasıl iframe bağlantı üst pencere açıl...
Nasıl's Üst Belirtmeden Div'...
Nasıl ayrı AngularJS denetleyicisi dos...