2016-03-22 12 views
0

Özel bir PopupView var (UIView uzatır). PopupView yalnızca TextView içerir.
PopupView genişliği
220. Şimdi PopupView yükseklik TextView açılan kısa olacak kısa olduğunda gibi TextView yüksekliğine bağlıdır istediğim.
PopUp gösterilmeden önce TextView yüksekliğini hesaplayabilir miyim?IOS - Çizilmeden önce TextView yüksekliğini hesaplamak mümkün mü

Yaptığım şey PopupView yüksekliğini TextView yüksekliğine bağlı olarak yapmaktır.
- Ben genişlik ve yükseklik = ekran genişliği ve yüksekliği
ile PoupView göstermek - Bundan sonra TextView yüksekliğini hesaplamak o
(layoutSubviews cinsinden) çizilmiş sonra - Sonra güncellemek PopupView yükseklik
=> O ise daha iyi olacaktır (sadece pop-up görünümünün yüksekliği kısıtlamasını kaldırın ve metin görünümü için kaydırma devre dışı: bundan ne için sorulan değil

- (void)layoutSubviews{ 
    [self.textView layoutIfNeeded]; 
    CGSize sizeThatShouldFitTheContent = [self.contentTextView sizeThatFits:self.textView .frame.size]; // this return correct value of `TextView` height 
    // After I get textview height, I update contraint height of PopupView 
} 
+0

Çizildikten sonra 'TextView' yüksekliğini hesaplamayı düşünüyorum. TextView'de kenar boşluğu hakkında düşünmeniz gerektiğinden, metinle hesaplamak doğru değildir. – childrenOurFuture

+1

Neden AutoLayout'u kullanmıyorsunuz? – Lefteris

+0

@Lefteris, şimdi otomatik kullanıyorum kullanıyorum. 'PopupView' ne zaman 'PopupView' –

cevap

1

çizilmiş önce TextView yüksekliğini alabilirsiniz, ama ne gerek muhtemelen kaydırma etkinse, varsayılan yükseklik 0'dır, aksi halde metin görünümü içeriği sığacak şekilde otomatik olarak yeniden boyutlandırılır). Bu şekilde açılır pencere, metin görünümünü kaydırır.

Öyle gibi kısıtlamaları ayarlamak gerekir:

TextView.Top = Popup.Top 
TextView.Left = Popup.Left 
TextView.Right = Popup.Right 
TextView.Bottom = Popup.Bottom 
Popup.Width = <some fixed value> //Yay! Stairs :) 

Sen kaydırma devre dışı bırakabilir ya program: textView.scrollingEnabled = NO; veya arabirim oluşturucu yoluyla.

İlgili konular