2016-04-02 23 views
0

Metne bağlı olarak TextView boyutunu genişletmem gerekiyor ama sorunu gösterebiliyorum ama yapamıyorum Bu sorunu düzeltmek için lütfen bana yardımcı olun. Ne denediğimi kodlayın.'sizeWithFont (_: constrainedToSize: lineBreakMode :)' kullanılamıyor: Use -boundingRectWithSize: seçenekler: öznitelikler: context:

var size: CGSize = text.sizeWithFont(UIFont.boldSystemFontOfSize(13), constrainedToSize: textSize, lineBreakMode:NSLineBreakMode.ByWordWrapping) 
+0

burada (objc) çözümleri ve önerilere bakın: http://stackoverflow.com/questions/19398674/sizewithfont-method-is-deprec ated -boundingrectwithsize-return-an-beklenmeyen-va – vadian

+0

Tamam teşekkürler. Ama Swift çözümünü verirseniz, benim için çok yararlı olduğunu gösterir. –

cevap

4

Yanıtı this ObjC question'dan Swift; Sizi tetikleyen şey String’u NSString’a göndermeniz gerektiğidir.

Swift 4

izin metin = "Merhaba" izin yazı = UIFont.systemFont (ofSize: UIFont.systemFontSize) maxsize = CGSize izin (en: 100, yükseklik: CGFloat.greatestFiniteMagnitude)

let size = (text as NSString).boundingRect(with: maxSize, 
     options: [.usesLineFragmentOrigin, .usesFontLeading], 
     attributes: [NSFontAttributeName:font], 
     context: nil) 
    .size 

Swift 3

let text = "Hello" 
let font = UIFont.systemFontOfSize(UIFont.systemFontSize()) 
let maxSize = CGSize(width: 100, height: CGFloat.max) 

let size = (text as NSString).boundingRectWithSize(maxSize, 
     options: [.UsesLineFragmentOrigin, .UsesFontLeading], 
     attributes: [NSFontAttributeName:font], 
     context: nil) 
    .size 
+0

Bu Kodu Kullanıyorum "Şöyle gösterir" UIFont 'türünün değeri' CGSize 'beklenen argüman türüne dönüştürülemez. O zaman burada Tam işlevini vereceğim ... metne izin ver: NSString = message.text! CGSize = CGSize (genişlik: 260.0, yükseklik: 10000.0) let boyutu = (NSString olarak metin) .boundingRectWithSize (UIFont.boldSystemFontOfSize (13), seçenek: [NSStringDrawingOptions.UsesLineFragmentOrigin, .UsesFontLeading] özelliklerini yazı boyutu sağlar: [NSFontAttributeName: font], context: nil) –

+0

Yardımın için teşekkürler düzgün çalışıyor şimdi ... Çok çok teşekkürler @Kevin –

+0

Teşekkürler! Yararlıydı. – Raja

İlgili konular