2016-11-14 37 views
8

Tek ekranım var. Bu Kullanıcı tıklandığındaHikaye panosundan eklenen programatik olarak kısıtlamalar nasıl değiştirilir?

enter image description here

Şimdi bunun

enter image description here

Ben buna göre I iki görüşü taşımak istediğiniz gibi aşağıda gösterecektir Hesap ve Şifre (düğme) sahip aşağıdaki gibi görünecektir storyboard kullanarak kısıtlamalar eklendi. Programlamadan kaynaklanan kısıtlamaları değiştirmelisiniz ..

+2

UIButton veya UILabel'ın çıkışını oluşturduğunuz gibi değiştirmek istediğiniz kısıtlamanın bir çıkışını oluşturun. –

cevap

18

Kısıtlamanız için bir IBOutlet oluşturmanız gerekir. enter image description here


Sonra kodunda da kısıtlama sabit değerini ayarlayın: Eğer böyle bir şey yapabilirsiniz animasyonlu istiyorsanız

labelWidthConstraint.constant = newValue 

:

Swift

labelWidthConstraint.constant = newValue 
UIView.animate(withDuration: 0.3, animations: { 
    view.layoutIfNeeded() 
} 

Hedef-C

self.labelWidthConstraint.constant = newValue; 
[UIView animateWithDuration:0.3 animations:^{   
    [self.view layoutIfNeeded]; 
}]; 
+1

'layoutSubviews()' öğesini çağırmamalısınız (bkz. Dokümanlar). Bunun yerine 'layoutIfNeeded()' işlevini kullanın. – clemens

+0

Bu kodu nesnel c'ye dönüştürebilir misiniz? –

+0

Nilam Pari, cevabı bir Objective-C örneği içerecek şekilde güncelledim. –