2016-03-23 17 views
0

Düzgün ölçekleme, Uibi'den yüklenen UIView ve kısıtlamaları olan UIImageView vb. İşte UIView break kısıtlaması ölçeklendirme

bunu nasıl ölçeklendirdiğimiz bir koddur: UIViewController yüklenen aynı UIView ölçeği zaman sonucunda

[UIView animateWithDuration:aDuration 
         delay:aDelay 
        options:UIViewAnimationOptionCurveEaseOut 
       animations:^{ 

        aCardView.transform = CGAffineTransformMakeScale(aZoom, aZoom); 

       } completion:^(BOOL finished) { 

       }]; 

Ben uyarısıyla karşılaştı ve UIImageView içine yanlış

ölçekler Ama iyi çalışıyor ve uyarı yok. İşte

aldığım uyarılar bulunmaktadır:

"<NSAutoresizingMaskLayoutConstraint:0x13aeca670 h=-&- v=-&- FFCardView:0x13af8e840.width == FFCardsCollectionView:0x13700a380.width - 129>", 
"<NSLayoutConstraint:0x13705adc0 FFCardsCollectionView:0x13700a380.trailing == UITableView:0x1360a6400.trailing>", 
"<NSLayoutConstraint:0x13706bc90 FFCardsCollectionView:0x13700a380.leading == UITableView:0x1360a6400.leading>", 
"<NSLayoutConstraint:0x13705c460 H:|-(0)-[UITableView:0x1360a6400] (Names: '|':UIView:0x135f4dfb0)>", 
"<NSLayoutConstraint:0x13705c4b0 H:[UITableView:0x1360a6400]-(0)-| (Names: '|':UIView:0x135f4dfb0)>", 
"<NSLayoutConstraint:0x13ade45d0 H:[UIImageView:0x13af0ac90(300)]>", 
"<NSLayoutConstraint:0x13af9a0f0 H:|-(0)-[UIImageView:0x13af0ac90] (Names: '|':FFCardView:0x13af8e840)>", 
"<NSLayoutConstraint:0x13af9a140 H:[UIImageView:0x13af0ac90]-(0)-| (Names: '|':FFCardView:0x13af8e840)>", 
"<NSLayoutConstraint:0x135fe6f00 'UIView-Encapsulated-Layout-Width' H:[UIView:0x135f4dfb0(375)]>" 
+0

UIViewController'ın görünümü xib ile aynı kısıtlamalara sahip mi? – Jelly

+0

evet. Aynı kısıtlamaları – Sergio

+0

var. Ve uyarılar ne diyor? Ayrıca hangi iOS sürümünü test ediyorsunuz? – Jelly

cevap

0

Sağladığınız uyarılardan bakın sorun, kısıtlamaları ile çakışan bir boyuta ölçeğinde çalışıyoruz olmasıdır. Örneğin, önde gelen ve sondaki kenar boşlukları ve 300 width ile bir ImageView var. Görünümünüzü 300'dan daha küçük bir boyuta ölçeklendirmeye çalışırsanız, kısıtlamalarınız kırılır ve düzeniniz de artar. Ölçeklendirme her zaman göz önünde bulundurulduğunda, görüş ile ölçeklemedikleri için kısıtlamaları göz önünde bulundurun. Elbette ölçekleme yaparken kısıtlamayı değiştirebilirsiniz, bu başka bir çözümdür. İhtiyacınıza gerçekten bağlı.

+0

Arabirim Oluşturucu'da UIImageView için genişlik ayarlayamıyorum çünkü hatalar olacak. Her zaman UIView'i ölçeklemek isteyen [self updateConstrains] diye bir şey mi çağırmalıyım? – Sergio

+0

Yukarıdaki uyarı, "300" Arabirim Oluşturucusu'nda bir genişlik kümesine sahip olduğunuzu söylüyor. '[Self updateConstrains]' işlevini çağırmak, kısıtlamalardaki değişiklikleri güncellediği için değil, hiçbir şey yapmadığı için onları hiçbir yerde değiştirmediğiniz için yardımcı olmaz. – Jelly