iOS:sizeWithFont:用于自定义字体

时间:2012-07-24 04:30:17

标签: ios uilabel sizewithfont

我一直在插件,我需要使用sizeWithFont:方法来正确排列我的布局,但它似乎不适用于自定义字体。有没有办法让它工作,或者我可以使用另一种方法?

我很难过。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

sizeWithFont肯定可以工作,但如果它给你一个问题,那么有一个解决方法。您可以将文本放在UITextView中,将其添加到布局中,然后检索实际文本大小并进行相应调整。以下是我的一个项目的示例代码:

     // Put in the title in
    self.titleView = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, 195, 195)];
    self.titleView.font = [UIFont fontWithName:@"Bliss Pro" size:20.0];
    [self addSubview:self.titleView];

    self.titleView.text = @"Add your text here";

    // Now get the actual size of the text and resize the title view's frame
    CGRect frame = self.titleView.frame;
    frame.size.height = self.titleView.contentSize.height;
    self.titleView.frame = frame;

这有点hackish,但它确实有效。

答案 1 :(得分:-1)

#define kFontSize 14.0    //modify your font size
CGSize size = [yourView sizeWithFont:[UIFont boldSystemFontOfSize:kFontSize]];