当前位置: 首页 > 编程笔记 >

iOS应用中UILabel文字显示效果的常用设置总结

曾鸿振
2023-03-14
本文向大家介绍iOS应用中UILabel文字显示效果的常用设置总结,包括了iOS应用中UILabel文字显示效果的常用设置总结的使用技巧和注意事项,需要的朋友参考一下

创建UIlabel对象


UILabel* label = [[UILabel alloc] initWithFrame:self.view.bounds];


设置显示文本

label.text = @"This is a UILabel Demo,";


设置文本字体

label.font = [UIFont fontWithName:@"Arial" size:35];


设置文本颜色

label.textColor = [UIColor yellowColor];


设置文本水平显示位置

label.textAlignment = UITextAlignmentCenter;


设置背景颜色

label.backgroundColor = [UIColor blueColor];


设置单词折行方式

label.lineBreakMode = UILineBreakModeWordWrap;


设置label是否可以显示多行,0则显示多行

label.numberOfLines = 0;


动态调整UILabel高度

[label sizeToFit];


根据内容大小,动态设置UILabel的高度

CGSize size = [label.text sizeWithFont:label.font constrainedToSize:self.view.bounds.size lineBreakMode:label.lineBreakMode];

CGRect rect = label.frame;

rect.size.height = size.height;

label.frame = rect; 


换行模式

typedef enum {

   UILineBreakModeWordWrap = 0,      // 以空格为边界,保留整个单词

   UILineBreakModeCharacterWrap,     // 保留整个字符

   UILineBreakModeClip,                     // 到边界为止

   UILineBreakModeHeadTruncation,    // 省略开始,以……代替

   UILineBreakModeTailTruncation,      // 省略结尾,以……代替 

   UILineBreakModeMiddleTruncation,  // 省略中间,以……代替,多行时作用于最后一行  

} UILineBreakMode;


其他:
   UILineBreakModeWordWrap = 0,
   以单词为单位换行,以单位为单位截断。
   UILineBreakModeCharacterWrap,
   以字符为单位换行,以字符为单位截断。
   UILineBreakModeClip,
   以单词为单位换行。以字符为单位截断。
   UILineBreakModeHeadTruncation,
   以单词为单位换行。如果是单行,则开始部分有省略号。如果是多行,则中间有省略号,省略号后面有4个字符。
   UILineBreakModeTailTruncation,
   以单词为单位换行。无论是单行还是多行,都是末尾有省略号。
   UILineBreakModeMiddleTruncation,
   以单词为单位换行。无论是单行还是多行,都是中间有省略号,省略号后面只有2个字符。

技巧:根据字符串长度自动适应宽度和高度  


//这个frame是初设的,没关系,后面还会重新设置其size。

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)];

    label.numberOfLines = 0;

    label.backgroundColor = [UIColor clearColor];

    

    NSDictionary *attributes = @{NSFontAttributeName:[UIFont systemFontOfSize:20],};

    

    NSString *str = @"abcdefg你上课可是你的拿到了";

    CGSize textSize = [str boundingRectWithSize:CGSizeMake(100, 100) options:NSStringDrawingTruncatesLastVisibleLine attributes:attributes context:nil].size;;

    

    [label setFrame:CGRectMake(100, 100, textSize.width, textSize.height)];

    label.textColor = [UIColor greenColor];

    label.text = str;

    [self.view addSubview:label];

   
  

 类似资料:
  • 我目前正在编写一个创建井字游戏的程序。目前的应用程序有两个人互相对战,轮流输入行号和列号。这个程序的主要问题是我无法让它显示一个人赢或输或两个玩家平局的结果。如果有人对我如何解决这个问题有任何建议,那就太好了。再次感谢您的时间。

  • 本文向大家介绍iOS中Navbar设置渐变色效果的方法示例,包括了iOS中Navbar设置渐变色效果的方法示例的使用技巧和注意事项,需要的朋友参考一下 本文主要给大家介绍了关于iOS中Navbar设置渐变色效果的相关内容,分享出来供大家参考学习,下面来看看详细的介绍吧。 设置渐变色 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,

  • 我正在MyUILabel上执行2个动画。MyUILable是从UILabel派生的自定义类,它实现了只绘制边框的drawRect方法。 这是我的动画代码: 在第一个动画开始时,一条灰色的线出现在我的标签的顶部边缘,并且在所有动画完成后仍然存在。我想提一下,这条线不是我的绘图实现的一部分,即使我的绘图是空的,它也会出现。标签也比最初小一点。 所附图片不成比例。 动画之前: 动画后: 猜猜为什么会这样

  • 我写了一个CLLocationManager ios应用程序。但是,我无法看到我的应用程序出现在位置服务中的设置在我的iPhone上。我需要在Xcode中的ios项目中设置plist中的特定值吗?提前感谢!

  • 本文向大家介绍vue-cli常用设置总结,包括了vue-cli常用设置总结的使用技巧和注意事项,需要的朋友参考一下 基于vue-cli做了好几个项目了,想把一些自己的常用设置写出来,磨了好久,一看vue-cli3.0都快出来了,不能再磨了。。 路径相关 css内引用的资源 本地访问 调试相关 内网访问 跨域代理 路由加载切换 异步加载可以加快首屏加载速度,但是在开发阶段会导致热加载变慢,所以根据N

  • 在Android core Settings应用程序中,当我们在搜索栏中搜索任何内容时,搜索结果会自动突出显示 例如,请参见下图,我在通知访问部分突出显示了我的应用程序名称。 我通过以下代码实现了这一点: 我在这个链接上引用了解决方案 但是,我想在使用访问设置中突出显示我的应用程序名称。即当我打开的意图时,然后在应用程序列表中,我的应用程序名称必须突出显示。 然而,上述逻辑/方法不适用于使用访问屏