2015-04-17 16 views
6

UITextView içeren bir alt UditableViewCell var. NSParagraphStyle'ı alt sınıf bir NSTextStorage'daki dizeye bir öznitelik olarak ekledim. Aşağıdaki kodda, UITextView'daki her satır arasındaki boşluğu artırdım. Aşağıda gösterildiği gibiNSParagraphStyle'daki satır aralığı özelliğinin değiştirilmesi, imleç uzamasına neden oluyor

hızlı

let paragraphStyle = NSMutableParagraphStyle() 
paragraphStyle.lineSpacing = 11 
myCustomTextStorage.appendAttributedString(NSAttributedString(string: someText, attributes: [NSParagraphStyleAttributeName: paragraphStyle])) 

imleç yüksekliği sonraki hattının yüksekliği kadar uzar. Bu sadece son satırdaki satırlarda olur.

enter image description here

Ben SO this post dahil olmak üzere bu sorununa ilişkin çeşitli mesajların baktım; Ancak, önerilen çözümlerin hiçbiri benim için çalışmıyor gibi görünüyor.

TextKit belgelerini okudum, ancak bu sorun için herhangi bir çözüm bulamadım.

İmleç yüksekliğini azaltmanın bir yolu var mı?

cevap

0

Bu, tasarlandığı şekilde çalışır ve Mac'te de aynıdır. Bu, kullanıcıya hangi satırın ve o satırın yüksekliğinin görsel geri bildirimi sağlaması anlamına gelir. Bunu değiştirmeden önce düşünmelisin çünkü görünüşünü beğenmedin.

Bu, yukarıda bağladığınız SO post içindeki yöntemin, imleci ayarlamak için genel yaklaşım olduğunu söyledi (ayarlanmış rect'in kaynağının da ayarlanması gerekebilir). Peki ya senin için işe yaramadı? Buradan başlamak daha iyi olurdu. Bu konuyla ilgili bir cevap

0

. Gelecekte başvurmak için buraya yapıştırıyorum. iOS - UITextView lineSpacing make cursor height not same

"sonra caretRectForPosition geçersiz, UITextView sınıflara imleç yüksekliğini değiştirebilir. Konum fonksiyonu Örnek:

  • (CGRect) caretRectForPosition: (UITextPosition *) pozisyonu { CGRect originalRect = [ süper caretRectForPosition: konum]; originalRect.size.height = 18.0; dönüş originalRect; } "
İlgili konular