2016至2017年上半年iOS项目细节(3)
来源:互联网 发布:哪里有呼死你软件出售 编辑:程序博客网 时间:2024/06/13 23:37
文字高度的frame各有优势
1)最好计算高度
CGRect frame =[string boundingRectWithSize:CGSizeMake(控件宽, 控件最大高度)options:NSStringDrawingUsesLineFragmentOrigin |NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName:字体}context:nil]
2)计算宽度
CGSize size = [String sizeWithAttributes:@{字体}];
下面是格式化字符串处理, 格式化字符串针对一些文本当中不同的显示很有帮助
/**
<#Description#>
@param num <#num description#>
@return <#return value description#>
*/
+(NSString *)phoneShow:(NSString *)num
{
if (nil!=num && num.length ==11) {
NSString * pref = [numsubstringToIndex:3];
NSString * tails = [numsubstringFromIndex:7];
return [NSStringstringWithFormat:@"%@***%@",pref,tails];
}else{
if (num.length >0) {
return num;
}
return@"";
}
}
/**
对象 nil 判断输出字符串
@param obj
@return 默认
*/
+(NSString *)textCheck:(NSObject *)obj{
if ([obj isKindOfClass:[NSString class]]) {
NSString *text = (NSString *)obj;
if ([@"null" isEqualToString:text] || [@"" isEqualToString:text] || text.length == 0) {
return@"";
}else{
return text;
}
}
if ([obj isKindOfClass:[NSNumber class]]) {
if (nil==obj) {
return@"";
}
}
if (nil==obj) {
return @"";
}
return [NSString stringWithFormat:@"%@",obj];
}
/**
<#Description#>格式化字符串,字符串里的秘密
@param originStr <#originStr description#>
@param text <#text description#>
@param font <#font description#>
@param color <#color description#>
@param paragraphStyle <#paragraphStyle description#>
@param lineSpacing <#lineSpacing description#>
@return <#return value description#>
*/
+(NSMutableAttributedString *)originStr:(NSString *)originStr attributedString:(NSString *)text font:(UIFont *)font textColor:(UIColor *)color paragraphStyle:(NSMutableParagraphStyle *) paragraphStyle lineSpacing:(double)lineSpacing{
NSMutableAttributedString * attributedString = [[NSMutableAttributedString alloc] initWithString:originStr];
if (font) {
[attributedString addAttribute:NSFontAttributeName value:font range:NSMakeRange([[attributedString string] rangeOfString:text].location, [text length])];
}
if (color) {
[attributedString addAttribute:NSForegroundColorAttributeName value:color range:NSMakeRange([[attributedString string] rangeOfString:text].location, [text length])];
}
if (lineSpacing >0) {
NSMutableParagraphStyle * style = [[NSMutableParagraphStyle alloc] init];
[style setLineSpacing:8.0/kUISize];
[attributedString addAttribute:NSParagraphStyleAttributeName value:style range:NSMakeRange(0,[originStr length])];
}
return attributedString;
}
// 对富文本不处理 进行格式化字符串
+(NSMutableAttributedString*)showHtmlString:(NSString *)text{
return [[NSMutableAttributedString alloc] initWithData:[[ProductTools textCheck:text] dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType} documentAttributes:nil error:nil];
}
//对富文本处理 只输出 文本
+(NSString *)showHtmlTextString:(NSString *)html{
NSScanner * scanner = [NSScanner scannerWithString:html];
NSString * text = nil;
while([scanner isAtEnd]==NO)
{
[scanner scanUpToString:@"<" intoString:nil];
[scanner scanUpToString:@">" intoString:&text];
html = [html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%@>",text] withString:@""];
}
return html;
}
- 2016至2017年上半年iOS项目细节(3)
- 2016至2017年上半年iOS项目细节(1)
- 2016至2017年上半年iOS项目细节(2)
- iOS-项目开发,细节,报错,处理(3)
- 年度总结(2016年下半年-2017年上半年)
- 2017年上半年 信息系统项目管理师 备考起航!
- 半年总结(2016年上半年)
- 2016年上半年总结
- 2016年上半年总结
- 2016年上半年总结
- 2016年上半年总结
- 2017年上半年目标
- 2017年上半年计划
- 2017年上半年工作总结
- 2017年上半年学习计划
- 2017上半年课程设计3
- 2016年上半年信息系统项目管理师真题之上午题答案之五(第21-25题)
- 2016年上半年信息系统项目管理师真题之上午题答案之九(第41-45题)
- 二三十岁我们为什么要奋斗?月入上万方向在哪里?
- OpenJudge[7545]二维数组回形遍历
- javascript练习(二)
- Python 俄罗斯方块
- windows Apache 部署 django
- 2016至2017年上半年iOS项目细节(3)
- android .9图片详解及应用
- Spring 和 mysql数据库的连接及测试--Jdbc
- 模运算与同余公式的性质
- XZ_iOS之iOS9.0后跳支付点击左上角返回app
- Android电视开发,Mstar_828平台信号源画面比例调节调用流程
- 小白成长记——Java基础之内部类
- 自定义View折线图
- Filter----自动登录