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

UILabel的text的对其方式有四种类型

NSTextAlignmentLeft;
NSTextAlignmentCenter;
NSTextAlignmentRight;

基本够用 但是今天遇到个问题 就是当我label很高字体很小的时候 默认的label文字永远是默认在中间  上图

[myLabel sizeToFit];首先试了这个方法 但是发现改变大小适应这个属性 会让文字在左上角并且label的height也随之缩小 添加numberToLine=0可以在换行的时候改变高度  其实这个属性就是将大小适应了文字还是达不到要求于是继续重写一个label的drawInRect方法在继承UILabel里的
- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines {
    CGRect textRect = [super textRectForBounds:bounds limitedToNumberOfLines:numberOfLines];
    textRect.origin.y = bounds.origin.y;
    return textRect;
}
-(void)drawTextInRect:(CGRect)requestedRect {
    CGRect actualRect = [self textRectForBounds:requestedRect limitedToNumberOfLines:self.numberOfLines];
    [super drawTextInRect:actualRect];
}

在外国网站上也有重写UILabel改变对齐方式的方法 并且比较全面 不仅顶部对齐 底部对齐 各种对齐 链接如下:http://blog.csdn.net/yexiaozi_007/article/details/8636522



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

时间: 2024-08-06 04:21:44

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

iOS的UILabel设置居上对齐,居中对齐,居下对齐

在iOS中默认的UILabel中的文字在竖直方向上只能居中对齐,我从UILabel继承了一个新类,实现了居上对齐,居中对齐,居下对齐.具体如下: 1.新建一个类VerticalAlignmentLabel.h继承自UILabel 2. // //  VerticalAlignmentLabel.h //  inface // //  Created by huangzengsong on 15/5/10. //  Copyright (c) 2015年 huangzs. All rights r

iOS UILabel设置居上对齐,居中对齐,居下对齐

在iOS中默认的UILabel中的文字在竖直方向上仅仅能居中对齐,博主參考国外站点.从UILabel继承了一个新类,实现了居上对齐,居中对齐,居下对齐.详细例如以下: [cpp] view plaincopy // //  myUILabel.h // // //  Created by yexiaozi_007 on 3/4/13. //  Copyright (c) 2013 yexiaozi_007. All rights reserved. // #import <UIKit/UIKit

线上一例主从不同步解决方法

首先,在从库上执行:show slave status\G ,发现SQL显示:NO,并且报错删除日志子类的. 解决方法:才从库上连续执行若干次如下命令即可解决: mysql>slave stop;              mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER =1;     #跳过一个事务              mysql>slave start; 线上一例主从不同步解决方法,布布扣,bubuko.com

Swift环境下实现UILabel居上 居中 居下对齐

首先在Xcode中新建.h文件,将下面代码复制进去 // // myUILabel.h // // // Created by yexiaozi_007 on 3/4/13. // Copyright (c) 2013 yexiaozi_007. All rights reserved. // #import <UIKit/UIKit.h> typedef enum { VerticalAlignmentTop = 0, // default VerticalAlignmentMiddle,

Swift环境下一行代码实现UILabel居上 居中 居下对齐

首先在Xcode中新建.h文件,将以下代码复制进去 // // myUILabel.h // // // Created by yexiaozi_007 on 3/4/13. // Copyright (c) 2013 yexiaozi_007. All rights reserved. // #import <UIKit/UIKit.h> typedef enum { VerticalAlignmentTop = 0, // default VerticalAlignmentMiddle,

ASP.NET Web API 帮助(help)页面上没有 Test API按钮的解决方法

参与一个web API项目时发现它的help页面特别好用,不仅可以根据webapi的方法和注释自动生成帮助文档以方便查阅,还可以在这个页面上测试webapi方法.于是在自己新建项目时也打算将这个help页面用起来.在实际操作中,发现新建Web API项目时会自动为你生成一个帮助页面,如下: 点开api后,到达如下页面,右下角并没有Test API按钮,不能对webAPI进行测试. 经过多方查资料,终于找到了解决方法.简单来说就是需要通过NuGet引用Web API Test Client. 在右

Mac 上安装Win10 [missing operating system]解决方法

先说说环境↓↓↓ Mac mini 128G SSD + 1TB 机械硬盘 128G SSD 分为Mac + Win10分区 ↑↑↑ 问题↓↓↓ 在Mac mini上安装win10后,备份时将原本的Win10分区激活状态改为Mac分区激活了,结果重新进Win10系统时,出现 missing operating system,使用 "bcdboot D:\windows /s D:"也修复不了启动 ↑↑↑ 解决方法↓↓↓ 再次进入Win8(移动硬盘中安装了Win8,有PE也行),将Win

在matlab上使用libsvm工具箱使用错误及解决方法汇总

经过几天的学习,终于可以正常的用libsvm工具箱咯--工具箱很强大但是刚开始总是错误百出啊!在遇到问题时google了一下在网上总能找到很多解决方法...我总结的是能解决我当时的问题的那些~ 首先附上使用过程 step1: 输入>>mex -setup step2: Please choose your compiler for building external interface (MEX) files: Would you like mex to locate installed co

关于因为修改脚本名称,导致Unity预制体上面的脚本出现丢失状况解决方法

一个脚本名称为aaaa,如果将脚本名称(外部和内部同时修改)bbbb,拖拽到预制体上,本地运行不会有任何问题,如果将项目上传至SVN或者打包发给其他人使用,有时候会出现预制体上面脚本丢失状况. 解决方法: 不修改aaaa脚本,直接新建脚本bbbbb,然后将aaaa脚本代码复制到bbbb脚本中,然后删除aaaa脚本,最后将bbbb脚本拖拽到预制体上使用.