6

UIModalPresentationCurrentContext kullanarak bir VC'nin üstünde bir VC sunmaya çalışıyorum. Aşağıdaki kod çalışır:UIModalPresentationCurrentContext - Rotasyon Yöntemleri olarak adlandırılmadı

UIViewController *transparentViewController = [[UIViewController alloc] init]; 
self.modalPresentationStyle = UIModalPresentationCurrentContext; 
[self presentViewController:transparentViewController animated:NO completion:^{ 
}]; 

Ancak VC tamamen berbat görünüyor rotasyonu basıldıktan sonra ben cihazı çevirdiğinizde. Temizce döndürmek yerine, görünümü yeni yönlendirmeye uyacak şekilde garip bir şekilde uzatır.

Ayrıca, transparentViewController alt sınıfını görüntülediğimde, görünümünaçma yöntemlerinin çağrılmadığını görüyorum! (Hatalı bir şekilde animasyonlu şekilde dönüyor olsa bile)

UIModalPresentationCurrentContext stili dönmüyor mu? Bunun etrafında zaten var mı? Bu konuyla ilgili başka kimse var mı?

+0

Bunun için bir çözüm buldunuz mu? Aynı konuyla karşılaşıyorum .. – stonemonk

+0

Aynı burada. Çözüm? –

cevap

0

Sorunun, döndürülemeyen orijinal görünüm denetleyicisiyle ilişkili olduğuna inanıyorum; bu nedenle, modal görünüm denetleyicinizin de dönmesi engellenir. Bunun için orijinal UIViewController 's CALAyer numarasını UIImagerenderInContext yöntemini kullanarak yapabilirsiniz. Daha sonra, bu görünümü bir modal görünüm denetleyicinizde görünüm hiyerarşinizin altında bir UIImageView içine yerleştirebilirsiniz. Bu, sahte bir statik görüntüde arkasında ne olduğunu gördüğünüzden, görüntü denetleyicinin şeffaf görünmesine neden olur. Ardından, UIViewController döndüğünde, arka planın yerinde kalması için,numaralı UIImageView numarasına manuel olarak uygulayabilirsiniz.

+0

D, cevabınız için teşekkürler. Bu durumda orijinal görüntü denetleyicisi dönebilir, ancak dönmesine izin verilip verilmediğine bakılmaksızın aynı davranır. Önerdiğiniz çözüm iyi bir şey, ancak, eğer görüşlerin arkasındaki güncellemeler ne olursa? Şeffaflığı kullanmak en iyisi olurdu. Ayrıca, ekran görüntüsündeki CGAffineTransform, aygıt dönüşünü dengelemek için hala "döndürme" işlemi yapmaz; arka planın dönüşü açıkça gerçekleşemediğinde gerçekleşmeyen bir animasyonu gösterir mi? –

+0

Ah Orijinal görüntü denetleyicinin dönebilmesi konusunda yanlış anladım. O zaman sorunu nasıl çözeceğinden emin değilim. – DHamrick