NSString *message = @"Can be a short string or a very long string";
CGSize rowSize = [message sizeWithFont:[UIFont fontWithName:@"Helvetica" size:16.0] constrainedToSize:CGSizeMake(250, 1000) lineBreakMode:UILineBreakModeWordWrap];
CGSize rowSizeBold = [message sizeWithFont:[UIFont fontWithName:@"Helvetica-Bold" size:16.0] constrainedToSize:CGSizeMake(250, 1000) lineBreakMode:UILineBreakModeWordWrap];
(rowSize.height和rowSizeBold.height总是相等) - 这不对 - thx to jaydee3
返回的高度错误并剪切文字。
有什么想法吗?
解决方案:(适用于Helvetica,Helvetica-Bold和任何其他字体)
使用margin(15)缩小rowSize的宽度会返回UITextField的正确高度。
NSString *message = @"Can be a short string or a very long string";
CGSize rowSize = [message sizeWithFont:[UIFont fontWithName:@"Helvetica-Bold" size:16.0] constrainedToSize:CGSizeMake(235, 1000) lineBreakMode:UILineBreakModeWordWrap];
UITextField *messageTextView.frame = CGRectMake(60, 10, 250, rowSize.height);
thx to Ganzolo!
答案 0 :(得分:0)
如果你使用UITextField显示字体,你可能会得到这个错误的结果,因为UITextField有余量。
因此,在您的约束大小中,您应该删除宽度组件上UITextField的边距。
答案 1 :(得分:0)
只需复制并粘贴您的代码即可。一切都很好: