2013-08-09 9 views
5

Kullanılamayan görünümü Kullanışlı görünüm oluşturma (loadView) ve Otomatik Düzenleme kullanmak için NIB'leri kullanılan eski kodu geçiriyorum. Kök görüntüleme denetleyicisi, otomatik düzen kullanan ve bir NIB'de düzenini içeren ve henüz otomatik düzeni kullanmayan bir görünüm denetleyicisini kullanan bir kapsayıcı VC (2 çocuklu) kapsayıcıdır. presentViewController:animated:completion:'dan sonra her şey yolundadır, ancak modal görünüm dismissViewControllerAnimated:completion: ile delege çağrısı üzerinden kapatıldığında, sunum görünümü tuhaf bir şekilde kaydırılır ve içeriğin tuhaf şekilde kaydırıldığı ve dokunmaya tepki vermediği garip bir durumda kalır.DismissViewControllerAnimated: completeion:

Sorunu yeniden oluşturmak için en az deneme vakası oluşturmaya çalıştım ancak sorunu yeniden üretemedim.

Buna neden olabilir?

+0

http://stackoverflow.com/questions/17666907 aynı sorunu açıklıyor gibi görünüyor. – Palimondo

cevap

7

Kök UIView üzerinde translatesAutoresizingMaskIntoConstraints = NO; ayarlıyordum. "Dışsal" UIView görünür - görünüm hiyerarşinizin kökündeki süper görünüm, varsayılan translatesAutoresizingMaskIntoConstraints = YES'u kullanmalıdır. Bunu kaldırdıktan sonra, her şey beklendiği gibi çalıştı.

+0

Bunun bir alt görüntü denetleyicinin görünüm hiyerarşisine eklendikten sonra bile bir alt görünüm denetleyicisinin kök görünümüne uygulandığını buldunuz mu? – bilobatum

+0

Merhaba. Konuyla ilgili örnek bir projeyle ilgili bir soru gönderdim: http://stackoverflow.com/questions/40428075/segue-from-a-slpagingviewswift-vc-and-dismiss-the-destination-vc-to-return i Bağlamda bulduğum çözümleri nasıl uygulayacağımı bulamıyorum (SLPagingView). Birisi bir göz atabilir ve yardım edebilirse çok sevinirim, Teşekkürler! –

0

Aynı sorun var ve bu gezinme denetleyicisini denediğimde, iyi çalışıyordu ama mevcut viewcontroller ile çalışmıyordu. Bu problemi çözmek için translateAutoresizingMaskIntoConstraints ile birlikte aşağıdaki aşağıdaki denetleyici yöntemini kullanın.

-(void) viewWillLayoutSubviews 
{ 
    [super viewWillLayoutSubviews]; 

    self.view.translatesAutoresizingMaskIntoConstraints = NO; 
} 

Lütfen bana şimdi bunun hakkında herhangi bir endişeniz olduğunu bildirin. Teşekkürler

0

Farklı bir çözüm - Kapsayıcı görünümde (alt görünümün aksine) bir görünüm denetleyicisinden sunuluyorsa, segalayı Modal'dan Göster'e değiştirirseniz, kısıtlamalarınızın ilk görünümünüzde aynı kalacaklarını buldum ancak hala modası geçmiş ve hala dismissViewController'ı doğru şekilde çağırabiliyormuşsunuz gibi canlandırıyor.

2

IOS 11'e yükseltirken bununla ilgili sorunlar yaşadım. UICollectionView düzeni artık hücreleri göstermiyordu. satır ekleyerek Sabit:

controller.modalPresentationStyle = UIModalPresentationOverFullScreen; 
[self presentViewController:controller animated:YES completion:nil]; 

bu bu giderir ama bunu bir sunuş tarzı vermiyorum gerçekten düzeni altında yatan sunan kontrolörleri uğraşamaz neden emin.

İlgili konular