当我尝试更改高度以适应文本时,为什么要在我的UILabel中添加这么多额外空间?

时间:2015-11-30 07:21:39

标签: ios objective-c uilabel

我不知道为什么UILabel的高度正在扩大到如此高的高度。它将UILabel的文本留在中心。我不想要所有这些额外的空间......

不需要的额外空间

这是我的代码(我在此之前设置了文字):

self.infoDescription.numberOfLines = 0;
[self.infoDescription sizeToFit];
self.infoDescription.frame = CGRectMake(20, self.infoAdultSize.frame.size.height+self.infoAdultSize.frame.origin.y+10, self.infoView.frame.size.width-40, self.infoDescription.frame.size.height);

请帮助:(我只想让UILabel的高度完全符合文字。

3 个答案:

答案 0 :(得分:2)

首先设置框架,然后调整尺寸以适合标签。

  **self.infoDescription.frame = CGRectMake(20, self.infoAdultSize.frame.size.height+self.infoAdultSize.frame.origin.y+10, self.infoView.frame.size.width-40, self.infoDescription.frame.size.height);
    [self.infoDescription sizeToFit];**

答案 1 :(得分:1)

试试这个:

CGSize maximumSize = CGSizeMake(300, 9999);
NSString *myString = @"This is a long string which wraps";
UIFont *myFont = [UIFont fontWithName:@"Helvetica" size:14];
CGSize myStringSize = [myString sizeWithFont:myFont 
                           constrainedToSize:maximumSize 
                               lineBreakMode:self.myLabel.lineBreakMode];

original source

答案 2 :(得分:0)

请检查this answer它对我有用,这正是您要找的。

project.tasks.findByName('dependencies')