Yığın Taşması ve Google'da çok sayıda arama yaptım, ancak sorunuma bir çözüm bulamadım.Otomatikleştir UITextView ve UIScrollView
UIScrollView ve birkaç alt görünümü (UIImageView, UILabel, UITextView) içeren bir ürün için Ayrıntı Görünümüm var. Bir örnek here bulabilirsiniz.
Önce UITextView (metnin kendisi değil) otomatik olarak ilgili yüksekliğe otomatikleştirmek istiyorum. Sonra UIScrollView'in tamamını otomatikleştirmek istiyorum, böylece UITextView'imin ve onun üzerindeki öğelerin yüksekliğine uyuyor. Aşağıdaki kodu denedim:
myUITextView.frame = CGRectMake(2.0, 98.0, 316.0, self.view.bounds.size.height);
[scrollView setContentOffset:CGPointMake(0.0, 0.0) animated:NO];
scrollView.contentSize = CGSizeMake(320.0, 98.0 + [myUITextView frame].size.height);
[self.view addSubview:scrollView];
98,0 + [myUITextView çerçeve] .size.height) çünkü benim düşünce vardı: myUITextView yüksekliğini aldıktan sonra diğer subviews yüksekliğini (98.0 ekleyin) ona.
Maalesef çok iyi çalışmıyor. UIScrollView içeriğine bağlı olarak, çok kısa veya çok uzun. I UITextView yüksekliği her zaman aynıdır ve sonuç olarak bazı günlük yaptı:
2010-01-27 14: 15: 45,096 myApp [1362: 207] [myUITextView çerçeve] .size.height: 367,000000
Teşekkürler!
'a eşittir. Yardımlarınız için teşekkürler. BoyutWithFont gibi görünüyor: forWidth: lineBreakMode: yalnızca tek bir metin satırı için çalışır. SizeWithFont denedim: constrainedToSize: lineBreakMode: ve işe yarıyor. Bazen doğru yüksekliği hesaplamaz. Sanırım metin kaynağımdaki bazı satır sonları nedeniyle düğmeye 30 px ekledim. – dennis3484
Sadece belgeleri kontrol ettim ve kesinlikle haklısın, bunun için üzgünüm! Ben de bazen yanlış yükseklikte dönen sorunları vardı ve ben yaptım aynı çözümü kullandım - 30px ekle :) – deanWombourne