自动标签,CGSize给出零值

时间:2012-08-09 17:29:25

标签: iphone ios xcode uilabel

我想根据标签的大小来更改标签的大小。我在第一行设置了一个断点,当我走下去时,我看到“tagsSize”在我到达以CGSize开头的行时实际上有一个值,然后在该行之后变为零。我实际上使用了相同的代码,当然,在同一个项目的不同类中进行了更改,并且工作正常。我可能正在寻找一些东西。请看一下,让我知道我做错了什么。

_tagsArray = [[NSMutableArray alloc] initWithObjects:@"Astronaut", @"iPhone", @"iOS", @"Software Engineer", @"Carpentry", @"Landscape Design", @"Doctor", @"Actor", @"CEO", @"iOS Developer", @"Software Engineer", @"Carpentry", @"Landscape Design", @"Doctor", @"Actor", @"CEO", @"iOS Developer", nil];
_tagsString = [_tagsArray componentsJoinedByString:@", "];

_tagsLbl.font = [UIFont fontWithName:@"Helvetica" size:18];
CGSize tagsSize = [_tagsString sizeWithFont:[_tagsLbl font]];

NSLog(@"%f", tagsSize.width);
CGFloat tagsWidth = tagsSize.width;

2 个答案:

答案 0 :(得分:1)

你在哪里分配UILabel?我认为你用它时它是零..

答案 1 :(得分:0)

试试这个:

CGSize size = [string sizeWithFont:[UIFont boldSystemFontOfSize:fontb]
                        constrainedToSize:CGSizeMake(TEXTLABEL_WIDTH, 1000) 
                               lineBreakMode:UILineBreakModeCharacterWrap];