簡體   English   中英

調整UILabel視圖IOS的大小

[英]Resize UILabel view IOS

嗨,我是iPhone開發的新手。 我想調整標簽尺寸。 我知道以前曾多次問過這個問題,但這些答案對我沒有用。 我不知道我在做什么錯。 我做了以下事情:我正在使用自動布局。 我還將行數定義為0。然后要調整標簽大小,我做了以下操作

NSString *text = @"NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID “;
_sampleText.text = text;
CGRect newSize = _sampleText.frame;
newSize.size.height = 200.0f;
_sampleText.frame = newSize;

我嘗試了[_sampleText sizeToFit]; 這也是。

但這對我不起作用。 任何人都可以幫助我。 需要幫忙。 謝謝。

我嘗試了這個

CGSize maximumSize = CGSizeMake(_sampleText.frame.size.width, 999);
CGSize expectedSize = [text boundingRectWithSize: maximumSize options: NSStringDrawingUsesLineFragmentOrigin
                                            attributes: @{ NSFontAttributeName:[UIFont fontWithName:_sampleText.font.fontName size:_sampleText.font.pointSize] } context: nil].size;
[_sampleText setText:text];
[_sampleText sizeToFit];
CGRect rect = _sampleText.frame;
rect.size.height = expectedSize.height;
_sampleText.frame = rect;

忘記了文字並調整了文字大小,我無法自行調整Uilabel的大小

  CGRect rect = CGRectMake(0, 0, 50, 50);
  [_sampleText setFrame:rect];

上面的代碼在viewDidLoad中。

所以我發現了一些東西。 如果禁用自動布局選項,則可以正常工作。 但是,如果要與自動布局啟用一起使用怎么辦?

首先calculate sizefit UILabel

NSString *text = @"NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID NILESH KASHID";
CGSize maximumSize = CGSizeMake(_sampleText.frame.size.width, 999);
CGSize expectedSize = [text sizeWithFont:_sampleText.font constrainedToSize:maximumSize lineBreakMode:NSLineBreakByWordWrapping];
[_sampleText setText:text];
[_sampleText sizeToFit];
CGRect rect = _sampleText.frame;
rect.size.height = expectedSize.height;
_sampleText.frame = rect;
NSString *text = @"";
        CGSize boundingSize = CGSizeMake(300, 1500.0f);
        CGSize requiredSize = [text sizeWithFont:[UIFont systemFontOfSize:12]
                               constrainedToSize:boundingSize
                                   lineBreakMode:NSLineBreakByWordWrapping];
        CGFloat requiredHeight = requiredSize.height;
       int textHeight = requiredHeight+90;
        NSLog(@"%d",textHeight);
        return textHeight; 

試試這個...一切順利!!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM