ios之UILabel实现文本自适应方法

UILabel实现文本自适应方法(ios7)

- (void)initUserInterface
{
    UILabel *label = [[UILabel alloc]init];
    label.numberOfLines = 0; // 须要把显示行数设置成无限制
    label.font = [UIFont systemFontOfSize:15];
    label.textAlignment = NSTextAlignmentCenter;
    label.text = @"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
    CGSize size =  [self sizeWithString:label.text font:label.font];
    label.bounds = CGRectMake(0, 0, size.width, size.height);
    label.center = self.view.center;
    [self.view addSubview:label];

}
// 定义成方法方便多个label调用 添加代码的复用性
- (CGSize)sizeWithString:(NSString *)string font:(UIFont *)font
{
    CGRect rect = [string boundingRectWithSize:CGSizeMake(320, 8000)//限制最大的宽度和高度
                                       options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesFontLeading  |NSStringDrawingUsesLineFragmentOrigin//採用换行模式
                                    attributes:@{NSFontAttributeName: font}//传人的字体字典
                                       context:nil];

    return rect.size;
}
时间: 2024-08-29 14:59:17

ios之UILabel实现文本自适应方法的相关文章

iOS常用技术-气泡文本自适应

////  ChatBubble.h//  ChatBubble////  Created by 大欢 on 16/1/21.//  Copyright © 2016年 bjsxt. All rights reserved.// #import <UIKit/UIKit.h> @interface ChatBubble : UIImageView //显示的文字@property (nonatomic, copy) NSString * text; @end/*****************

UILabel自适应文本,让文本自适应

//UILabel自适应文本的高度 UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 100, 300, 100)]; label.numberOfLines = 0; label.lineBreakMode = NSLineBreakByWordWrapping; label.text = @"本店于十一期间特推出一系列优惠,限时限量敬请选购!沙发:钻石品质,首领风范!床垫:华贵典雅,彰显时尚!尊贵而不失奢华,典雅却不失自

iOS 设置UILabel的行间距并自适应高度

NSString *contentStr = @"总以为,在最初的地方,有一个最原来的我,就也会有一个最原来的你"; UILabel *tempLabel = [[UILabel alloc] init]; //设置背景颜色 tempLabel.backgroundColor = [UIColor redColor]; //设置内容 tempLabel.text = contentStr; //设置字体颜色 tempLabel.textColor = [UIColor whiteCol

IOS下 UILabel 如何自动换行

转自:http://zasoft.blog.163.com/blog/static/205215176201301414915700/ 背景: 相信很多朋友都遇到过,文本的内容长度不一,需要根据内容的多少来自动换行处理. 场景: 很多APP中评论,有的评论长,有的评论短,有的一行,有的多行. ? 下面以评论的实现为例来说说具体如何实现. ? 技术点: UILabel的自动换行,自动换行的同时要自适应Frame大小. UITableView的行高自适应内容,实时调整高度. 实现方法: UILabe

iOS UITextView 根据输入text自适应高度

#import "ViewController.h" @interface ViewController ()<UITextViewDelegate> // KVO和动态自适应尺寸 @property (nonatomic, strong)UITextView *txtView; // KVO测试 @property (nonatomic, strong)Person *person; @end @implementation ViewController - (void)

IOS 为UILabel添加长按复制功能

IOS 为UILabel添加长按复制功能 在iOS中下面三个控件,自身就有复制-粘贴的功能: 1.UITextView 2.UITextField 3.UIWebView UIKit framework提供了几个类和协议方便我们在自己的应用程序中实现剪贴板的功能. 1.UIPasteboard:我们可以向其中写入数据,也可以读取数据 2.UIMenuController:显示一个快捷菜单,用来展示复制.剪贴.粘贴等选择的项. 3.UIResponder中的 canPerformAction:wi

Storyboard实现简单的文本自适应

建好工程,来到Storyboard,开搞. 首先设置竖屏 在Storyboard拖入一个滚动视图UIScrollView 由于这边只是演示,所以直接给ScrollView加 上,左,下,右的约束为0: 现在更新一下得到如下效果 接下来就是重点了! 我们在ScrollView上拖入一个UIView 现在我们来为View 加约束 我们先设定上,左,右的约束,全部为0 但是我们发现得到如下 说明我们并没有加足够的约束用来约束他 少了什么呢? 我们这边要做的是上下滚动的,少了个高度?那现在我们给他一个高

iOS 播放音频的几种方法

iOS 播放音频的几种方法 iPhone OS 主要提供以下了几种播放音频的方法: System Sound Services AVAudioPlayer 类 Audio Queue Services OpenAL 1. System Sound Services System Sound Services 是最底层也是最简单的声音播放服务,调用 AudioServicesPlaySystemSound 这个方法就可以播放一些简单的音频文件,使用此方法只适合播放一些很小的提示或者警告音,因为它有

IOS调用WCF提供的服务方法,但是方法的参数是WCF那边自定义的对象,这样有办法调用么,如果可以IOS应该怎么传参呢?请问有了解的么,

最近做一个项目后端使用WCF接收Android手机拍照并带其它参数保存到服务器里:刚好把最近学习的WCF利用上,本以为是个比较简单的功能应该很好实现,没想到其中碰到不少问题,在网上搜索很久一直没有想到的解决方案,最后实现对数据流的分段写入然后后端再来解析流实现的此功能:后端运用WCF中的REST来接收数据:REST还是比较简单的知识,若是不懂可以简单网上了解一下:下面我们先了解一些本次运用到的理论知识: 一:理论知识 由于低层协议特性限制,WCF的流模式只支持如下四种:1:BasicHttpBi