UIlabel文字两边对齐

iOS开发 UIlabel 文字两边对齐

思路:算出每个字符之间的宽度

给UIlabel添加一个分类即可,代码如下: 
* 必须导入这个头文件:CoreText/CoreText.h

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #fffcea }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #fffcea; min-height: 16.0px }
span.s1 { color: #ba2da2 }
span.s2 { color: #703daa }
span.s3 { color: #78492a }
span.s4 { color: #272ad8 }
span.s5 { color: #3e1e81 }

- (void)changeAlignmentRightandLeft{

CGRect textSize = [self.text boundingRectWithSize:CGSizeMake(self.frame.size.width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingTruncatesLastVisibleLine |NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName : self.font} context:nil];

CGFloat margin = (self.frame.size.width - textSize.size.width) / (self.text.length - 1);// 每个字符之间,平均的宽度(点坐标)

NSNumber *number = [NSNumber numberWithFloat:margin];

NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc]initWithString:self.text];

[attributeString addAttribute:(id)kCTKernAttributeName value:number range:NSMakeRange(0, self.text.length - 1)];

self.attributedText = attributeString;

}

http://blog.csdn.net/u013094208/article/details/52777225

时间: 2024-10-13 11:41:14

UIlabel文字两边对齐的相关文章

CSS笔记---文字两边对齐

<style> .box{ width: 1000px; height: 500px; background-color: #aa0000; margin:0 auto; } .tester{ width: 100px; height: 100px; background-color: #44931c; color:#fff; text-align: justify; } .tester>span{ /*display: inline-block;*/ padding-left: 100

让UILabel的文字顶部对齐

默认UILabel是垂直居中对齐的,如果你的UILabel高度有多行,当内容少的时候,会自动垂直居中. 如下图所示(图片来自stackoverflow): 比较郁闷的是,UILabel并不提供设置其垂直对齐方式的选项.所以如果你想让你的文字顶部对齐,那么就需要自己想办法了. stackoverflow.com 上提供了几种方法来达到顶部对齐的效果. 方法一 在显示文字时,首先计算显示当前的文字需要多宽和多高,然后将对应的UILabel的大小改变成对应的宽度和高度.此方法的相示意图如下: 在显示文

IOS UI篇—UILabel的文字顶部对齐

UILabel的文字顶部对齐 NOV 20TH, 2011 默认UILabel是垂直居中对齐的,如果你的UILabel高度有多行,当内容少的时候,会自动垂直居中. 如下图所示(图片来自stackoverflow): 比较郁闷的是,UILabel并不提供设置其垂直对齐方式的选项.所以如果你想让你的文字顶部对齐,那么就需要自己想办法了. stackoverflow.com 上提供了几种方法来达到顶部对齐的效果. 方法一 在显示文字时,首先计算显示当前的文字需要多宽和多高,然后将对应的UILabel的

【IOS】将字体大小不同的文字底部对齐

从WP转IOS了,还是放不下...... 在项目中,要实现如图多个不同大小的文字   底部对齐的效果   像下面这样: (想要的效果) 以为用三个UIFont不同的UILabel  之后让他们底部对齐就可以了,但是效果是下面这样的:  (不想要的效果) 底部完全不对齐呀,为什么"1314"比两边高出了那么多呀!!!!强迫症不能忍呀!!! ---------------------------------------------------------------------------

UIlabel居上对齐遇到的问题和解决方法以及其他相关资料

UILabel的text的对其方式有四种类型 NSTextAlignmentLeft; NSTextAlignmentCenter; NSTextAlignmentRight; 基本够用 但是今天遇到个问题 就是当我label很高字体很小的时候 默认的label文字永远是默认在中间  上图 [myLabel sizeToFit];首先试了这个方法 但是发现改变大小适应这个属性 会让文字在左上角并且label的height也随之缩小 添加numberToLine=0可以在换行的时候改变高度 其实这

checkbox与说明文字无法对齐的问题

写过Web页面的朋友大概都曾遇到过这样的问题:checkbox与说明文字(比如一个label标签或一个a标签)无法对齐,要不是checkbox上浮了,要不是说明文字上浮. 以前遇到过这个问题,但是都直接忽视,并未深究.今天要解决项目中遗留下的界面显示问题,这个问题终于绕不过去了,因为它真的是无处不在. 今天,借助于伟大的google,同时自己不断试验,终于解决了这个"老大难"的"历史遗留问题".现将经验分享如下: 其实很简单,真的灰常简单,把要对齐的每个标签,都加一

HTML,文字两端对齐

text-align: justify样式的意思是文字两端对齐,但是有时候你会发现这东西不起左右,比如在div标签中的文字. 解决方法:在div中放一个空的span标签,并使用下面的样式. .justify        {            text-align: justify;            width: 100px;        }        .justify > span        {            display: inline-block /* Ope

可用的CSS文字两端对齐

最近在工作项目中接触到Web界面设计的问题,要实现文字两端对齐的效果.在网上搜索了一下,用的都是类似的技巧: text-align:justify;text-justify:inter-ideograph; 我遇到问题是:看不到效果,无论是英文还是中文,在IE和chrome下都不起作用.还好在StackOverflow上找到了解决方法 :) 样式: 1 div.justify 2 { 3 text-align: justify; width:200px; font-size:15px; colo

文字两边加横线

<div id="login_frame"> <div class="with-line">推荐使用以下浏览器</div> </div> <style type="text/css"> /* 文字两边横线 */ #login_frame .with-line { width:462px;font-size: 16px; color: #000; margin: 0 auto; posit