`

IOS Label行距间隔 首行缩进的解决 原创

 
阅读更多

 Label的首行缩进一直是个很头疼的问题,现在IOS6只有有一个attributedText的属性值得我们深究,可以达到我们自定义的行高,还有首行缩进,各种行距和间隔问题。下面这个是两个Label, 一个是UserName,另一个是Content文本多行信息,这个效果就是 用户名: + 多行评论换行,而且首行间距根据用户名自动缩进

比如  小李:  我评论了,还有什么问题再给我留言。。。

 

创建标签

 

@interface ViewController : UIViewController

@property (weak, nonatomic) IBOutletUILabel *usernameLabel

 

@property (weak, nonatomic) IBOutletUILabel *contentLabel;

 

@end

 

//视图展示层

 

- (void)viewDidLoad {

    self.usernameLabel.text = @"用户名Jordan CZ: ";

    self.usernameLabel.adjustsFontSizeToFitWidth = YES;

    [self.usernameLabel sizeToFit];

 

     self.contentLabel.text = @"首行缩进根据用户昵称自动调整 间隔可自定根据需求随意改变。。。。。。。";

     self.contentLabel.adjustsFontSizeToFitWidth = YES;

     self.contentLabel.adjustsLetterSpacingToFitWidth = YES;

 

 

     [self resetContent];

}

 

//自适应计算间距    

- (void)resetContent{

    NSMutableAttributedString *attributedString = [[NSMutableAttributedStringalloc] initWithString:self.contentLabel.text];

    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStylealloc] init];

    paragraphStyle.alignment = NSTextAlignmentLeft;

    paragraphStyle.maximumLineHeight = 60;  //最大的行高 

    paragraphStyle.lineSpacing = 5;  //行自定义行高度

    [paragraphStyle setFirstLineHeadIndent:self.usernameLabel.frame.size.width + 5];//首行缩进 根据用户昵称宽度在加5个像素

    [attributedString addAttribute:NSParagraphStyleAttributeNamevalue:paragraphStyle range:NSMakeRange(0, [self.contentLabel.textlength])];

    self.contentLabel.attributedText = attributedString;

    [self.contentLabelsizeToFit];

}

   

还有其他的问题可以发出来一起讨论讨论!!酷

    

 

0
2
分享到:
评论

相关推荐

    iOS UITextView 首行缩进 撤销输入 反撤销输入的实现代码

    该功能类似ios系统的摇一摇撤销输入。 当时也特迷茫,不知道从何下手,后来搜索了大量的资料,终于完成了这个功能,现在就将该功能的实现写出来,共勉。 这个功能涉及到ios原生类:NSUndomanager。这个类挺强大。...

    iOS 自定义AlertView

    在iOS开发中,AlertView是一种常见的用户交互组件,用于向用户显示警告信息或者进行简单的选择操作。系统默认的UIAlertView在iOS 8之后被UIAlertController替代,但为了满足自定义需求和兼容旧版本,开发者常常会...

    iOS Label的自适应高度和字间距行距

    在iOS开发中,UILabel是用于显示单行或多行文本的常用控件。然而,当文本内容长度不固定或者需要保持良好的可读性时,自适应高度和调整字间距、行距就显得尤为重要。本篇文章将深入探讨如何实现UILabel的高度自适应...

    ios label 自动换行

    在给定的区域内实现label根据text的多少自动换行显示。主要的就是这个.m文件

    ios-超简单部分文字响应点击事件的label.zip

    部分文字实现点击功能的label 使用简单 集成方便 对原有项目无污染 最新代码请移步 github: https://github.com/shabake/GHAttributesLabelDemo

    ios-富文本.zip

    这个类允许我们定义段落的对齐方式(左对齐、居中、右对齐或两端对齐)、行距、首行缩进、段前段后距离等。创建一个`NSParagraphStyle`对象并设置好属性后,可以将其添加到`NSAttributedString`的属性字典中,以此来...

    ios-label复制功能.zip

    "ios-label复制功能.zip"这个压缩包可能包含了一个示例项目或者代码库,专注于实现UILabel的复制功能。在iOS应用中,用户通常期望能够复制屏幕上的文本,如教程、文章或任何其他信息。在默认情况下,UILabel并不直接...

    ios-label自适应宽度高度.zip

    在iOS开发中,UILabel是用于显示单行或...总的来说,“AutoLabel”示例代码提供了一个解决iOS中UILabel图文混排和自适应大小问题的方案。通过深入理解并使用这个示例,开发者可以更好地定制自己的UI,提升用户体验。

    ios-Label自适应高度或宽度.zip

    这个"ios-Label自适应高度或宽度.zip"文件提供的解决方案,就是帮助开发者动态计算UILabel根据文本内容(text)和字体(font)应具有的最佳高度或宽度。 首先,我们要理解UILabel的工作原理。默认情况下,UILabel会...

    ios-文字间距.zip

    对于更复杂的布局,如段落间距、首行缩进等,可以使用`NSAttributedString`配合`NSTextStorage`, `NSLayoutManager`和`NSTextContainer`组成TextKit来实现。这允许更精细的控制,包括自定义段落间距和首行缩进等。 ...

    ios-展开label查看更多.zip

    这个“ios-展开label查看更多.zip”文件提供了一个解决方案,它利用了YYText框架来实现这一功能。接下来,我们将深入探讨这个知识点。 首先,YYText 是 YYKit 的一部分,是一个强大的富文本处理框架,它可以处理...

    IOS应用源码之横向滚动的label .rar

    在iOS开发中,创建一个横向滚动的label是一个常见的需求,特别是在显示长文本或者时间轴等场景下。这个压缩包文件“横向滚动的label .rar”很可能是包含了一个iOS项目的源代码,专门用于实现这种功能。下面我们将...

    ios-ExpressionCS.zip

    在iOS中,实现图文混排通常会用到`NSAttributedString`和`NSParagraphStyle`等类,它们允许开发者定义文字样式、对齐方式、行距、首行缩进等,并能与图片、链接等元素一起展示。在处理表情时,开发者需要确保它们在...

    IOS应用源码之支持丰富文本样式的工具.zip

    为了实现更复杂的布局,如段落间距、行距或者首行缩进,我们需要使用`NSParagraphStyle`。这个类提供了对文本块的格式化控制,如对齐方式(左对齐、右对齐、居中、两端对齐)、行间距等。 同时,`NSTextAttachment`...

    iOS Label实现文字渐变色效果

    在iOS开发中,为了使界面更具视觉吸引力,有时我们需要实现文字颜色渐变的效果。这篇教程主要探讨如何在UILabel中创建这种效果。首先,我们要理解基本的渐变原理和使用的技术。 渐变色通常通过Core Graphics框架中...

    IOS_动态计算Label高度

    标题“IOS_动态计算Label高度”所指的就是这个过程,即在运行时根据文本内容来确定`UILabel`的最佳高度。 `UILabel`的默认行为是自适应一行文本,如果设置了`numberOfLines`为0,并开启`adjustsFontSizeToFitWidth`...

    ios-同一label用多个颜色,如qq评论回复.zip

    在iOS开发中,有时我们需要在一个UILabel中展示不同颜色的文字,比如在实现类似QQ评论或回复的功能时,用户的名字可能需要一种颜色,评论内容又是另一种颜色。这种需求在iOS的UIKit框架下是完全可以实现的,主要涉及...

    iOS UIlabel 闪烁

    在iOS开发中,UILabel是...总的来说,解决iOS UILabel闪烁问题需要我们深入了解UI绘制机制,合理利用系统提供的工具和API,以及适时考虑第三方库的引入。通过这些方法,我们可以有效地消除闪烁,提升应用的用户体验。

    ios-label 设置间距,textView 设置占位.zip

    一个可以设置 label 行间距,textView 的占位文字的简单工具类。 代码地址:https://github.com/zhanghaifeng1234565/label-/tree/master

Global site tag (gtag.js) - Google Analytics