iOS7 UİTextView contentsize.yükseklik alternatif
İOS uygulamaları iOS 7 için 6.1 birini taşımaya çalışıyorum. Düzeltme genişliği olan UITextView
bir yerde bir düzen kullanıyorum, ama yüksekliği contentsize dayanmaktadır. İçin 6.1 contentsize kontrol iOS.yükseklik ve textview çerçeve yüksekliği ayarlamak için yeterli ama yine de iOS 7 üzerinde çalışmıyor.
O zaman nasıl sabit genişlik UITextView
ama dinamik bir yükseklik metin oluşturmak gösteriyor olabilir miyim?
NOT: Interface Builder ile kod değil. bu görüşler yaratıyorum
CEVAP
Bu aşağıdaki kod ile, sizin UİTextView yüksekliği sabit bir genişlik (ve bir önceki sürüm iOS 7 üzerinde çalışıyor) göre değiştirebilirsiniz :
- (CGFloat)textViewHeightForAttributedText:(NSAttributedString *)text andWidth:(CGFloat)width
{
UITextView *textView = [[UITextView alloc] init];
[textView setAttributedText:text];
CGSize size = [textView sizeThatFits:CGSizeMake(width, FLT_MAX)];
return size.height;
}
Bu fonksiyon ile, bir NSAttributedString ve yüksekliği gerekli döndürmek için sabit bir genişlik alacak.
Eğer belirli bir yazı tipi ile bir metin çerçeve hesaplamak istiyorsanız aşağıdaki kodu kullanmanız gerekir :
- (CGSize)text:(NSString *)text sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size
{
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0"))
{
CGRect frame = [text boundingRectWithSize:size
options:(NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading)
attributes:@{NSFontAttributeName:font}
context:nil];
return frame.size;
}
else
{
return [text sizeWithFont:font constrainedToSize:size];
}
}
SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO
senin önek ekleyebilirsiniz.proje olarak: pch dosyası
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
Ayrıca önceki test SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)
değiştirebilirsiniz :
if ([text respondsToSelector:@selector(boundingRectWithSize:options:attributes:context:)])
Çizgi UİTextView yükseklik ayarlı...
UİTextView iOS7 klipler metin dizesi s...
Alternatif DB bağlantısı olmadan mysql...
Tuval CSS kullanırken gergin ama norma...
Nasıl iOS 7 içeriği UİTextView boyutu?...