İçinde metin olan UITextView var. İOS 6'da her şey yolundaydı ama şimdi iOS 7 ile boş alanı üstte bırakıyor ve ardından metni metin görünümünün ortasının altına yerleştiriyor.
Herhangi bir contentOffSet ayarlamadım. Lütfen yardım et!
İçinde metin olan UITextView var. İOS 6'da her şey yolundaydı ama şimdi iOS 7 ile boş alanı üstte bırakıyor ve ardından metni metin görünümünün ortasının altına yerleştiriyor.
Herhangi bir contentOffSet ayarlamadım. Lütfen yardım et!
Yanıtlar:
Metin görünümü, kaydırma görünümüdür. Görünüm denetleyicileri, gezinme çubuğunun ve durum çubuğunun arkasında yukarı kaydırmak isteyecekleri varsayıldığından, kaydırma görünümlerine otomatik olarak bir içerik ofseti ekleyecektir.
Bunu önlemek için, metin görünümünü içeren görünüm denetleyicisinde aşağıdaki özelliği ayarlayın:
self.automaticallyAdjustsScrollViewInsets = NO
IronManGill'in verdiği mevcut cevap iyi bir çözüm değil, çünkü sorunun neden ilk başta meydana geldiğinin anlaşılmasına dayanmıyor.
jrturton'un cevabı da onu çözmenin en temiz yolu değil. Geçersiz kılmanıza gerek yok. Basit tutun!
İhtiyacınız olan tek şey aşağıdakileri ayarlamaktır:
self.automaticallyAdjustsScrollViewInsets = NO;
viewDidLoad yönteminde.
Dokümanlara göz atın: https://developer.apple.com/documentation/uikit/uiviewcontroller/1621372-automaticallyadjustsscrollviewin
automaticallyAdjustsScrollViewInsets
kullanımdan kaldırıldı. İOS11'den şunu kullanıncontentInsetAdjustmentBehavior
Arayüz Oluşturucu'da,
Bu benim için çalıştı
textView.textContainerInset = UIEdgeInsetsZero;
textView.textContainer.lineFragmentPadding = 0;
Şuraya gidin Interface Builder
:
view controller
İçeren seçintext view
Adjusts Scroll View Insets
mülkün işaretini kaldırBunun gerçek bir özellik olup olmadığını gerçekten merak ediyorum… Bu 64 noktalı otomatik ek, yalnızca görünüm denetleyicisinin görünümünün tüm alt görünümlerinin daha derinliği olarak UIScrollView
veya UITextView
daha derin olduğunda eklenir . Örneğin, kaydırma görünümünün arkasına bir görünüm eklerseniz (burada z-arabelleğinden bahsediyorum, görünüm imbrikasyonu değil), bu 64 nokta ekleme otomatik olarak eklenmez.
Örneğin, bu ek ekler:
Bu durumda iç metin eklenmez:
Bu bana gerçekten tuhaf geliyor… İşletim sistemi, görüşü genişletip genişletmeyeceğine karar vermek için neden görüşün derinliğine baksın?
Hızlı (Xcode 6)
self.automaticallyAdjustsScrollViewInsets = false
viewDidLoad
, metin görünümüyle View Controller'da yapın.
automaticallyAdjustsScrollViewInsets
kullanımdan kaldırıldı. İOS11'den şunu kullanıncontentInsetAdjustmentBehavior
İçerik ofsetini negatif bir değere ayarlayarak bu sorunu çözdüm. İşte Swift kodu.
yourTextView.setContentOffset(CGPoint(x: 0, y: -150), animated: true)
[self.textView setContentOffset:CGPointMake(0.f, -self.topLayoutGuide.length) animated:NO];
Anlamanız gereken, bunun gezinme çubuğuyla ilgili olduğudur:
Swift 4 için Çözüm:
textView.textContainerInset = UIEdgeInsets.zero
Bu profesyonel olmayan bir çözüm, eminim ... Ama metin görünümünün arkasına boş bir etiket koymak sorunu çözer.