UILabel文本垂直顶部对齐的方法

也不知道为什么UILabel本身没有提供文本垂直顶部对齐的方法,真的有点晕。我们创建一个简单的UILabel来看看:

[box type="info"]

UILabel *myLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 10, 300, 100)];

[myLabel setText:@"苹果iOS(iphone Operation System)是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的"];

[myLabel setFont:[UIFont fontWithName:@"Arial" size:14.0]];

[myLabel setBackgroundColor:[UIColor blueColor]];

[myLabel setTextColor:[UIColor whiteColor]];

[self.view addSubview:myLabel];

[/box]

在ios模拟器上看到的效果如下图:

这显然不是我们要的效果,我们再添加一行代码:

myLabel.numberOfLines = 0;

结果是:

显示有点正常了,但如何使文字顶部对齐呢?

实现代码:

[box type="info"]

UILabel *myLabel = [[UILabel alloc]init];//WithFrame:CGRectMake(10, 10, 300, 100)];

UIFont *strFont = [UIFont fontWithName:@"Arial" size:14.0];

[myLabel setFont:strFont];

[myLabel setBackgroundColor:[UIColor blueColor]];

[myLabel setTextColor:[UIColor whiteColor]];

myLabel.numberOfLines = 0;

CGSize maximumSize = CGSizeMake(300, 999);

NSString *string = @”苹果iOS(iphone Operation System)是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的”;

CGSize stringSize = [string sizeWithFont:strFont

constrainedToSize:maximumSize

lineBreakMode:myLabel.lineBreakMode];

[myLabel setText:string];

CGRect strFrame = CGRectMake(10, 10, 300, stringSize.height);

myLabel.frame = strFrame;

[self.view addSubview:myLabel];

[/box]

运行结果如下图:

盆友们,如果有更好的方法使UILabel垂直顶部对齐,一定要分享出来哦

UILabel文本垂直顶部对齐的方法

时间: 2024-10-11 04:43:06

UILabel文本垂直顶部对齐的方法的相关文章

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

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

UILabel顶部对齐解决方法(转载)

问题 我有一个UILabel高度最多能显示两行,如果里面内容只有一行,它是垂直居中的.怎么能让它顶端对齐呢? 回答 答案1:用sizeToFit改变UILabel的高度 nevan king,1969 赞 没法直接改变UILabel的垂直对齐方式,但是把 label 的 frame 高度改小也能实现相同的效果.为了看得清楚,我把 label 标为橘黄色了. 最简单的做法是: [myLabel sizeToFit]; sizeToFit 如果内容长度超过一行,把numberOfLines设成 0(

让UILabel的文字顶部对齐

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

CSS3----vertical-align(文本垂直对齐方式)

一.代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>文本垂直对齐方式vertical-align</title> <style type="text/css"> .head{ margin: 0 0 0 100px; } .container{ margin: 0 0 0 100px; } .contai

一个解决表单中的文字和文本区域(textarea)上对齐的方法

在进行表单布局的时候通常会遇到这样的情况 文本和textarea标签是底部对齐的 <p><em>邮箱</em><textarea style='height:150px;width:540px;'></textarea> </p> #content .form p em{ display: inline-block; width:70px; text-align: right; margin-right: 20px; } 上面是htm

141设置屏幕中文本的横向对齐方式(扩展知识:设置标签行间距)

效果如下: ViewController.h 1 #import <UIKit/UIKit.h> 2 3 @interface ViewController : UIViewController 4 @end ViewController.m 1 #import "ViewController.h" 2 #import "KMLabel.h" 3 4 @interface ViewController () 5 - (void)layoutUI; 6 @

图片和文字对齐的方法

文字旁边搭配图片时,发现图片比文字靠上,原来默认的情况是图片顶对齐而文字底对齐,通过设置css属性可以使得图片与文字对齐. 方法一. 设置各对象的vertical-align属性,属性说明: baseline-将支持valign特性的对象的内容与基线对齐 sub-垂直对齐文本的下标 super-垂直对齐文本的上标 top-将支持valign特性的对象的内容与对象顶端对齐 text-top-将支持valign特性的对象的文本与对象顶端对齐 middle-将支持valign特性的对象的内容与对象中部

js常用返回网页顶部几种方法

一.使用锚标记 此方法最简单,只需在body下放个隐藏的锚点标记,内容如下:  代码如下 复制代码 <a name="top" id="top"></a> 然后,在网页底部放一个访问链接即可:  代码如下 复制代码 <a href="#top" target="_self">返回顶部</a> 此方法效果是一次直接跳到顶部,而且URL地址栏会显示个#top,追求完美的可使用下面方法

敲敲黑板 | 文字垂直方向对齐这样设置!

大家好! 关于文本段落的对齐方式,Word共提供了五种:左对齐.居中对齐.右对齐.两端对齐和分散对齐,平时常用的文本段落对齐方式是两端对齐.原因嘛,大家可以去这篇推送中第1部分中去看. 这里有朋友提问了,达人君,你老是抓住水平这个方向不放,说起来没完了啊?那文本在垂直(上下)方向上可以调整吗? 其实嘛,关于段落的对齐,个人感觉可以大体上从这几个角度去理解: 1.段落整体在水平方向上的对齐,也就是上面所提到的五种对齐方式,这种五种对齐方式其实是相对于左右页边距来说的: 2.段落整体在垂直方向上的对