美文网首页与文字有关的
UILabel 让文字置顶显示

UILabel 让文字置顶显示

作者: J_Knight_ | 来源:发表于2016-07-04 15:25 被阅读4742次

我们经常会遇到将Label中文字置顶,也就是将文字顶到Lable框的最顶端显示的需求,UILabel是无法对内容文字进行置顶处理的,所以,如果我们不对Label加以额外的设置,就会出现如下情况:

置顶前

解决办法:我们可以通过sizeToFit方法解决它:

- (void)viewDidLoad {

    [super viewDidLoad];


    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake((self.view.bounds.size.width - 200)/2, 100, 200, 150)];

    label.backgroundColor = [UIColor yellowColor];

    NSString *labelText = @"我不知道如何置顶,谁来告诉我?";

    [label setText:labelText];

    [label setNumberOfLines:0];
    
   
    //让内容置顶
    [label sizeToFit];

    [self.view addSubview:label];
}

效果图

置顶后

但是有些小伙伴会对内容置顶后的Label的frame有些顾虑,笔者也有,所以就在Label后方放置了一个和初始Label具有相同frame的红色背景,那么如果设置sizeToFit方法后,即使Label的frame有变化,我们也可以通过和红色背景的frame相对比而看出:

置顶前后frame对比

我们可以看到,文字内容置顶后,原Label的origin几乎没有变化,而bounds适应了文字,大小改变了。
所以不难看出,通过sizeToFit方法,我们可以将Label的大小“刚好”紧贴文字外部,从而实现了置顶的效果。

相关文章

  • UILabel 让文字置顶显示

    我们经常会遇到将Label中文字置顶,也就是将文字顶到Lable框的最顶端显示的需求,UILabel是无法对内容文...

  • UILabel的基本使用

    UILabel 显示文字 UILabel的基本设置//显示的文字@property(nonatomic,copy)...

  • 文字置顶攻略

    我们经常会遇到将Label中文字置顶,也就是将文字顶到Lable框的最顶端显示的需求,UILabel是无法对内容文...

  • UIButton文字居左显示

    UILabel文字居左显示,实现文字居左显示代码如下: 按照UILabel文字居左的写法,UIButton应该这么...

  • UILabel如果让文本自适应

    UILabel如果让文本自适应经常遇到,UILabel里面的显示区域固定, 但是里面的文字显示合适的字体大小的...

  • UI 之UILabel,UITextField,UIButton

    一. UILabel UILabel是显示文本的控件,能显示文字的控件. UILabel的创建过程与UIView的...

  • iOS入门之UI02 ---- UIlabel

    /** *UILabel 可以显示文字的视图控件,继承与UIView; **/ UILabel *label = ...

  • 004:基础控件

    UILabel 什么是UILabel:如果只显示文字那么就选择它,它可以纯洁的显示文字,并对文字进行各种各样的设置...

  • 刮刮乐

    设置刮开后,显示的文字Label UILabel *label = [[UILabel alloc]initWit...

  • 常见的几种UIView

    UIView常见控件 UILabel 什么是UILabel?UILabel极其常用,功能比较专一:显示文字 UIL...

网友评论

  • BlueFriends:xib 下怎么写
    J_Knight_:@LuckyMing 这个我没有试过,我个人不太喜欢用xib
  • 健健锅:如果我想在label frame 固定,情况下 让文字与顶部对其呢
    J_Knight_:不好意思没有看到。你可以拿一个UIView垫着它,让这个labe的y始终等于0

本文标题:UILabel 让文字置顶显示

本文链接:https://www.haomeiwen.com/subject/gtocjttx.html