label同时设置sizeToFit,NSTextAlignmentCenter不起作用

问题:label要多行显示,按照这样子设置,iOS9以上work,iOS8无用

self.bookNameLabel.lineBreakMode = NSLineBreakByCharWrapping;
    self.bookNameLabel.numberOfLines = 0;
    self.bookNameLabel.textAlignment = NSTextAlignmentCenter;

然后据说要加 sizeToFit:好吧,依然然并卵

然后据说要同时加font,好吧,多行出来了,但是不居中

然后stackOverFlow:https://stackoverflow.com/questions/28579776/nstextalignmentcenter-for-uilabel-not-working/35066864#35066864?newreg=725179871da349d698d31b72bdbb3565

work!

最终:

self.bookNameLabel.font =[UIFont systemFontOfSize:18];
    self.bookNameLabel.lineBreakMode = NSLineBreakByCharWrapping;
    self.bookNameLabel.numberOfLines = 0;
    self.bookNameLabel.textAlignment = NSTextAlignmentCenter;
    [self.bookNameLabel sizeToFit];
    self.bookNameLabel.frame = CGRectMake((self.frame.size.width-self.bookNameLabel.frame.size.width)/2, self.bookNameLabel.frame.origin.y, self.bookNameLabel.frame.size.width, self.bookNameLabel.frame.size.height);
时间: 2024-10-07 06:27:02

label同时设置sizeToFit,NSTextAlignmentCenter不起作用的相关文章

ios8 UITableView设置 setSeparatorInset:UIEdgeInsetsZero不起作用的解决办法

本文转载至 http://blog.csdn.net/yesjava/article/details/41039961 在ios7中,UITableViewCell左侧会有默认15像素的空白.这时候,设置setSeparatorInset:UIEdgeInsetsZero 能将空白去掉. 但是在ios8中,设置setSeparatorInset:UIEdgeInsetsZero 已经不起作用了.下面是解决办法 首先在viewDidLoad方法加入以下代码: if ([self.tableView

button设置hover-class样式不起作用

微信小程序的button中,可以指定按下去的类名,例如: 1 <button hover-class="hover">同意</button> 根据官方开发指南,在本地调试时,发现button设置hover-class样式不起作用: 1 /*page.wxss */ 2 3 .hover{ 4 background-color: red; 5 } 6 7 8 9 <!--page.wxml --> 10 <button type="de

label中设置某些指定的字体的属性设置(Color,Size,FontColor)

不知道大家有没有遇到要设置某些字体的颜色和大小等属性的设置,下面就让我们一起走进字体的变形王国吧!!! 1.在storyboard中拖一个控件label,拖线设置属性为: @property (weak, nonatomic) IBOutlet UILabel *EasyLabel; 2.在viewDidLoad中设置属性: 主要用到的一个关键字眼是attribute ,请看下面的代码: - (void)viewDidLoad { [super viewDidLoad]; // attribut

Android ListView的header footer设置visibility gone不起作用

常用的ViewGroup,例如LinearLayout,在onMeasure方法内对每个child view执行measure前,会判断child view的visibility是否为gone.如果是gone,则不对这个child view执行measure操作,即这个child view的高度不被计算在linearLayout的高度里面.LinearLayout的measureVertical代码片段: if (child.getVisibility() == View.GONE) { i +

label.lineBreakMode设置lable中文字过长时的显示格式,其中可以有末尾以省略号显示。

iOS4.0版本: label.lineBreakMode = NSLineBreakByCharWrapping;以字符为显示单位显示,后面部分省略不显示. label.lineBreakMode = NSLineBreakByClipping;剪切与文本宽度相同的内容长度,后半部分被删除. label.lineBreakMode = NSLineBreakByTruncatingHead;前面部分文字以……方式省略,显示尾部文字内容. label.lineBreakMode = NSLine

在一个Label上设置多种颜色字体

1 #import "AppDelegate.h" 2 3 @interface AppDelegate () 4 5 @end 6 7 @implementation AppDelegate 8 9 10 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 11 self.window = [[UIWindow al

Masonry创建Label,不设置高度Label不显示问题

[self.contentLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(weanSelf).offset(10); make.top.equalTo(weanSelf.timeLabel.mas_bottom).offset(10); make.right.mas_equalTo(-10); // make.height.mas_equalTo(50); }]; 如上面一段代码,设置label的

java环境变量的设置 各环境变量的作用

path:(大小写无关) 系统变量Path告诉操作系统可执行文件(*.exe.*.bat等)所在的路径,当OS(操作系统)发现某个*.exe时,windows默认从当前目录开始查找这个命令,若查不到,OS就会到Path所设定的路径中去寻找该命令,然后执行.系统默认的系统变量为: Path =%SystemRoot%;%SystemRoot%/system32;%SystemRoot%/System32/Wbem 就是说处于上面3个目录(多个变量用分号隔开)中的*.exe文件,可以在任意地方被执行

给body设置height:100%不起作用?

今天学习CSS3的渐变时,看到一个demo,就照着做,问题就来了. 例子代码是这样的: 效果图是这样的: 我自己照着例子敲出来的效果是这样的: 怎么回事啊?怎么跟例子效果不一样?代码明明不一样啊,body的高度也设置了100%啊,左边红线怎么不是body高度?右键一看原来body只有18px.怎么回事,不是100%的么?于是百度了一下,看到了这样一句话:“而跟W3C的规范,百分比的高度在设定时需要根据这个元素的父元素容器的高度.所以,如果你把一个div的高度设定为height: 50%;,而它的