ios开发中获取string宽度的一个小应用
来源:互联网 发布:c语言购物系统 编辑:程序博客网 时间:2024/06/03 22:53
设计一个label显示效果如下(其中数字是获取来的,在变动):
思路:将label拆为3个小label,先获取第一个label的长度,第二个label在平移第一个label的长度,计算第二个label的长度,第三个label平移第一个label加上第二个label的长度
实现:1、新建一个UIView取名为TimeLabelView,
2、在TimeLabelView.h文件中{
UILabel *juLi_label,*num_label,*tian_label;
}
- (void)setTimeText:(NSString*)text;
在TimeLabelView.m文件中的initWithFrame方法下面首先进行初始化:{
//第一个label的初始化
juLi_label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 136, 36)];
//136是用setTimeText方法计算出来之后才加上的,是字符串"距离北京奥运会还有"的宽度,高度规定36
juLi_label.textAlignment =UITextAlignmentLeft;
juLi_label.backgroundColor =[UIColor clearColor];
juLi_label.text=@"距离北京奥运会还有";
juLi_label.font=[UIFont systemFontOfSize:15];
length1=[self width:juLi_label.text];
NSLog(@"%f",length1);// length1打印出来是136
[self addSubview:juLi_label];
//第二个label的初始化
num_label = [[UILabel alloc] initWithFrame:CGRectMake(length1, 0,46, 36)];
//这里的46是随便写的,后面还会再重新设置
num_label.backgroundColor =[UIColor clearColor];
num_label.textColor=[UIColor redColor];
num_label.font=[UIFontsystemFontOfSize:15];
[self addSubview:num_label];
//第三个label的初始化
tian_label = [[UILabel alloc] initWithFrame:CGRectMake(length1+num_label.frame.size.width, 2,16,34)];
//这里的16也是通过setTimeText计算出来后写出来的,一开始都是随便写的
tian_label.backgroundColor =[UIColor clearColor];
tian_label.font = [UIFontsystemFontOfSize:12.0];
tian_label.text=@"天";
[self addSubview: tian_label];
}
- (void)setTimeText:(NSString*)text
{
CGSize size=[textsizeWithFont:[UIFont systemFontOfSize:15]constrainedToSize:CGSizeMake(MAXFLOAT,36)];//计算从主程序获取来的时间的长度
num_label.text=text;//text是从主程序传过来的时间
num_label.frame = CGRectMake(num_label.frame.origin.x,num_label.frame.origin.y,size.width, 36);
//重新定义num_label的尺寸
tian_label.frame = CGRectMake(length1+num_label.frame.size.width,2, 16, 34);
//重新设置tian_label的尺寸,往后移juLi_label的长度+ num_label的长度
}
- ios开发中获取string宽度的一个小应用
- IOS中如何获取string的宽度和高度
- IOS开发中获取自带的应用
- ios开发中获取常用的应用与设备信息
- iOS中如何动态获取label的宽度和高度
- iOS中获取文本的高度与宽度
- ios应用开发中如何获取天气预报?
- String小练习3-获取一个字符串在另一个字符串中出现的次数
- web开发中获取的各种高度和宽度
- web开发中获取的各种高度和宽度
- ios开发 CLLocationManager获取位置信息时遇到的一个小问题
- SurfaceView的一个小应用:开发示波器
- iOS小技巧 - 获取文字的宽度(iOS6与iOS7的方法不同)
- C++中string小应用
- java中栈的一个小应用..
- 一个iOS应用开发背后的流程
- ios 获取屏幕的属性和宽度
- ios 获取屏幕的属性和宽度
- 如何在hibernate中分页获得sql的数据
- 面向对象 之封装、构造函数
- 如何用好百度搜索风云榜?
- Python中re(正则表达式)模块学习
- androidUI设计之旅 ----TextView03
- ios开发中获取string宽度的一个小应用
- 软件工程(二)
- 假期实践随笔
- hdu 1150 (最小顶点覆盖)
- cocos2d-x 改变精灵图片的2种方法。
- 中文大写转换数值
- 暑假大连东软实习报告
- DNS对SEO的影响
- 有关(int&)和(int)的区别