iOS Label自适应高度/宽度 , 图片自适应
2015-12-09 21:25
597 查看
项目里许多地方都需要自适应Label上文字的高度,所以可以吧自适应高度的代码单独封装起来,写在一个类里,这样在其他的类里想调用这个方法,就可以直接使用,不用每个类都写一遍这个方法.
我把这个类起个名字叫SizeForLabel
当我在别的类里需要对Label自适应的时候,引入SizeForLabel的头文件,直接使用这个方法
这样Label的大小就根据文字的多少自适应了.
另外再说一下图片自适应大小
很简单
给图片一个固定的宽度,让这个图片根据比例,适应高度,这样图片不会变形
我把这个类起个名字叫SizeForLabel
//SizeForLabel.h @interface SizeForLabel : NSObject +(CGSize)labelRectWithSize:(CGSize)size LabelText:(NSString *)labelText Font:(UIFont *)font; @end
//SizeForLabel.m //参数1:Label的大小 //参数2:Label上文字内容 //参数3:文字的字体大小 +(CGSize)labelRectWithSize:(CGSize)size LabelText:(NSString *)labelText Font:(UIFont *)font{ NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName, nil]; CGSize actualsize = [labelText boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil].size; return actualsize; }
当我在别的类里需要对Label自适应的时候,引入SizeForLabel的头文件,直接使用这个方法
self.label = [[UILabel alloc] init]; //Label字体大小(注意:要与自适应方法里的大小一致) self.label.font = [UIFont systemFontOfSize:20.0f]; [self addSubview:self.label]; //计算大小(我这里算的是固定宽度,计算高度;也可以固定宽度,计算高度) CGSize digestHeight = [SizeForLabel labelRectWithSize:CGSizeMake([[UIScreen mainScreen]bounds].size.width - 20, MAXFLOAT) LabelText:@"Label上文字内容" Font:[UIFont systemFontOfSize:20.0f]]; //给Label设置大小 self.label.frame = CGRectMake(10, 10, [[UIScreen mainScreen]bounds].size.width - 20, digestHeight); //文字换行 self.label.numberOfLines = 0;
这样Label的大小就根据文字的多少自适应了.
另外再说一下图片自适应大小
很简单
给图片一个固定的宽度,让这个图片根据比例,适应高度,这样图片不会变形
//我先把图片设置成屏幕宽,屏幕高 UIImageView *img = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, [[UIScreen mainScreen]bounds].size.width, [[UIScreen mainScreen]bounds].size.height)]; [self addSubview:img]; //图片会根据宽度自适应高度 img.contentMode = UIViewContentModeScaleAspectFit; //图片会根据高度自适应宽度 //img.contentMode = UIViewContentModeScaleAspectFill;
相关文章推荐
- iOS -1-内存管理
- nagios安装
- 在Xcode中修改bundle display name让应用名字显示中文
- IOS 的验证码倒计时
- iOS symbolicatecrash工具crash日志分析
- 关于 iOS 的 StoryBoard,接受的那一刻才发现她的美 - 当然美的事物都需要业心照料
- IOS开发中copy和retain的区别
- ios 数组里面的字典,
- iOS-在团队开发过程中控制代码版本
- iOS-证书
- iOS-证书相关
- iOS-APNS证书申请与使用
- iOS-证书申请
- cordova/phonegap/ionic ios 在线更新插件
- iOS-开发者相关的几种证书
- iOS用if语句判断null
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- iOS运行时机制
- iOS常用的宏(整理)--持续更新
- iOS Device logs 分析