Ios 仅当UITextView的内容视图大于其名称时才显示图像
我正在做一个项目,我想显示一个图像,如果文本不适合UITextView框架 我正在使用以下代码Ios 仅当UITextView的内容视图大于其名称时才显示图像,ios,uitextview,scrollview,Ios,Uitextview,Scrollview,我正在做一个项目,我想显示一个图像,如果文本不适合UITextView框架 我正在使用以下代码 if (self.textView.contentSize.height >= self.TextView.bounds.size.height) { self.imageView.hidden = NO; } 我也在使用自动布局。是否会引起这些问题 还有一件事是,当我打印NSLog时,contentSize.height的值并没有随着UITextView显示的文本而改变。您可以使
if (self.textView.contentSize.height >= self.TextView.bounds.size.height)
{
self.imageView.hidden = NO;
}
我也在使用自动布局。是否会引起这些问题
还有一件事是,当我打印NSLog时,contentSize.height的值并没有随着UITextView显示的文本而改变。您可以使用此方法根据使用的字体大小检查多行文本的高度
+ (CGSize) calculateLabelHeightWith:(CGFloat)width text:(NSString*)textString
{
CGSize maximumSize = CGSizeMake(width, 9999);
CGSize size = [textString sizeWithFont:[UIFont fontWithName:@"Helvetica" size:24]
constrainedToSize:maximumSize
lineBreakMode:UILineBreakModeWordWrap];
return size;
}
你需要知道
- 文本字段宽度
- 串
- 字体
- 字号
CGRect textRect=[文本边界矩形大小:
选项:NSStringDrawingUserLineFragmentOrigin
属性:@{NSFontAttributeName:[UIFont stuff here]}
上下文:无];
CGSize size=textRect.size;
是的,如果您将文本分配给textView,并在viewControllers viewDidLoad的下一条指令中检查其大小,则它将不起作用。它只会给出您设置的contentSize
检查ViewController的ViewDid中出现的内容大小,它就会工作。这对我很有效。
希望这能有所帮助,[textString sizeWithFont:constrainedToSize:lineBreakMode:];在iOS 7.0中已被弃用感谢您快速响应
CGRect textRect = [text boundingRectWithSize:<text Feild Size>
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:[UIFont stuff here]}
context:nil];
CGSize size = textRect.size;