sizeWithFont中的UITextField
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,以jaydee3sizeWithFont中的UITextField
返回的高度是错误的,片断的文本。
任何想法?
溶液:(适用于黑体,黑体-粗体和任何其他字体)
由余量(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!
如果你使用UITextField来显示字体,你可能会得到这个错误的结果,因为UITextField有余量。
因此,在你的约束大小,你应该删除宽度组件的UITextField的边距。
谢谢,这是我的问题的解决方案! – 2012-03-02 11:12:31
只需复制&粘贴您的代码。一切都很好:
问题是高度总是相同,但是当出现换行符时,在Helvetica中显示的消息需要一行,而Helvetica-Bold中的消息需要两行,两者的高度仍然相等... – 2012-03-02 10:24:19
然后,您有给它正确的约束。请发布代码,该代码无法正常工作...该代码按预期工作。 – calimarkus 2012-03-02 10:29:14
sry你说得对。 Ganzolo可能会提到这个问题。 – 2012-03-02 10:31:28
你确定字体的名称? – Ganzolo 2012-03-02 09:46:28
它们显示在UITextField中,我可以看到字体名称是正确的。 – 2012-03-02 09:51:19