iOS7中核算UILabel中字符串的高度
iOS7中核算UILabel中字符串的高度
iOS7中出现了新的办法核算UILabel中依据给定的Font以及str核算UILabel的frameSize的办法.本人提供category如下:
UILabel+StringFrame.h
仿制代码
仿制代码
//// UILabel+StringFrame.h// LabelHeight//// Copyright (c) 2014年 Y.X. All rights reserved.//#import @interface UILabel (StringFrame)- (CGSize)boundingRectWithSize:(CGSize)size;@end
仿制代码
仿制代码
UILabel+StringFrame.m
仿制代码
按 Ctrl+C 仿制代码
//
// UILabel+StringFrame.m
// LabelHeight
//
// Copyright (c) 2014年 Y.X. All rights reserved.
//
#import "UILabel+StringFrame.h"
@implementation UILabel (StringFrame)
- (CGSize)boundingRectWithSize:(CGSize)size
{
NSDictionary *attribute = @{NSFontAttributeName: self.font};
CGSize retSize = [self.text boundingRectWithSize:size
options:\
NSStringDrawingTruncatesLastVisibleLine |
NSStringDrawingUsesLineFragmentOrigin |
NSStringDrawingUsesFontLeading
attributes:attribute
context:nil].size;
return retSize;
}
@end
按 Ctrl+C 仿制代码
仿制代码
如今来测验代码:
效果图如下:
咱们来试验一下运用自定义字体测验一回:
显示成果:
无论自定义字体仍是体系字体都是能够完美运用的.
以下代码供你测验:
仿制代码
仿制代码
// 字符串
NSString *str = @"日落时分,沏上一杯山茶,听一曲意境空远的《禅》,心神随此天籁,沉溺于奥妙的幻景里。似乎我即是那络绎于葳蕤山林中的一只飞鸟,时而回旋扭转络绎,时而引吭高歌;似乎我即是那潺潺流泻于山涧的一汪清泉,涟漪轻盈,浩淼长流;似乎我即是那竦峙在天地间的一座山峦,傲岸挺拔,沉着连绵。我不相信佛,仅仅喜爱玄冥空灵的梵音经贝,与慈善漠然的佛境禅心,在清欢中,沉着幽静,安闲安定。一向神往走进青的山,碧的水,体悟山水的绚丽多姿,领会草木的兴衰荣枯,倾听黄天厚土之声,探寻世界天然的妙趣。走进了山水,也就走出了喧嚣,给身心以清凉,给精力以沉积,给魂灵以升华。";
// 初始化label
UILabel *label = [UILabel new];
label.backgroundColor = [UIColor whiteColor];
[self.view addSubview:label];
// label获取字符串
label.text = str;
// label获取字体
label.font = [UIFont fontWithName:nil size:18];
// 依据获取到的字符串以及字体核算label需求的size
CGSize size = [label boundingRectWithSize:CGSizeMake(320, 0)];
// 设置无限换行
label.numberOfLines = 0;
// 设置label的frame
label.frame = CGRectMake(0.0f, 50.0f, size.width, size.height);
仿制代码
仿制代码
iOS6能够运用如下办法来获取字符串的size值
size = [text sizeWithFont:font
constrainedToSize:size
lineBreakMode:NSLineBreakByCharWrapping];
但此办法已经在iOS7中被废弃了,留意.
// 获取字符串的巨细 ios7
- (CGSize)getStringRect:(NSString*)aString
{
CGSize size;
NSAttributedString* atrString = [[NSAttributedStringalloc] initWithString:aString];
NSRange range = NSMakeRange(0, atrString.length);
NSDictionary* dic = [atrString attributesAtIndex:0 effectiveRange:&range];
size = [aString boundingRectWithSize:CGSizeMake(237, 200) options:NSStringDrawingUsesLineFragmentOriginattributes:diccontext:nil].size;
return size;
}
// 获取字符串的巨细 ios6
- (CGSize)getStringRect_:(NSString*)aString
{
CGSize size;
UIFont *nameFont=[UIFont fontWithName:@"Helvetica" size:13];
size=[aString sizeWithFont:nameFont constrainedToSize:CGSizeMake(237, 200) lineBreakMode:NSLineBreakByCharWrapping];
return size;
}
引荐网站 http://www.keymob.com/
分享到:
相关推荐
iOS开发中,实现UILabel滚动,类似于跑马灯效果;
github地址:https://github.com/fengzhihao123/UI-Swift 如果帮助到了大家,还望点个star和fork
ios uilabel的代码 ios uilabel的代码 ios uilabel的代码 ios uilabel的代码 ios uilabel的代码 ios uilabel的代码
IOS应用源码——UILabel中美化字体的例子.zip
用于iPad的自动布局,自定义cell然后每个cell中得UIlabel 都采用的是Constraints自动布局。然后结果出现了偏差。
对UILabel 做了一个简单的封装,对复制(复制时截取字符串,复制追加字符串),行间距,字间距,以及改变label中某段字符串的颜色和字体
iOS 数字滚动 UILabel
UILabel 和UITextField 的常用api 介绍和使用
iOS中UILabel设置居上对齐、居中对齐、居下对齐 在iOS中默认的UILabel中的文字在竖直方向上只能居中对齐,博主参考国外网站,从UILabel继承了一个新类,实现了居上对齐,居中对齐,居下对齐。 具体如下: // // ...
在iOS程序中,看的见、摸得着的,都是UIView的子类。UILabel是一个用于显示文字信息的标签视图类,即UIView的子类。 以下是关于UILabel的官方网址:https://developer.apple.com/reference/uikit/uilabel 引言 有时...
一.长按文字可以弹出复制菜单,点击复制可以复制文字 二.长按输入框可以弹出粘贴菜单(系统自带的),点击粘贴可以粘贴文字 三.使用的时候直接继承WLCopyLabel就可以了 四.测试环境:Xcode 6.2,iOS 6.0 以上
简单方便的给UILabel内容中某几个文字添加点击事件,实现定制要求
比较方便的多行UILabel 可自定义文字间距,行间距,及段落间距 有这方面需求的可以下来用用,直接导入.h .m文件即可 .h里有使用方法
下面小编就为大家带来一篇iOS 设置UILabel的行间距并自适应高度的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了iOS开发中UILabel设置字体的相关技巧小结,代码基于传统的Objective-C,需要的朋友可以参考下
uilabel的内容的颜色处理
三种样式 中 上 下 也可以自己修改
iOS UIlabel 闪烁