例如,请参见图片:http://img25.imageshack.us/img25/6996/90754687.png
灰色背景指示UILabel框架的大小。
出于某种原因,即使我使用的是UITextAlignmentCenter,换行文本的第一行也不总是居中。
这是我用来设置标签的代码:
self.titleLabel = [[UILabel alloc] initWithFrame:CGRectZero];
titleLabel.font = [UIFont boldSystemFontOfSize:fontHeight];
titleLabel.backgroundColor = [UIColor grayColor];
titleLabel.numberOfLines = 2;
titleLabel.lineBreakMode = UILineBreakModeMiddleTruncation;
NSString * title = file.name;
CGSize maximumSize = CGSizeMake(thumbnailWidth+4,fontHeight * 3);
UIFont * font = [UIFont boldSystemFontOfSize:12];
CGSize stringSize = [title sizeWithFont:font constrainedToSize:maximumSize lineBreakMode:titleLabel.lineBreakMode];
CGRect stringFrame = CGRectMake(0, thumbnailHeight + thumbnailPadding, thumbnailWidth + 4, stringSize.height);
titleLabel.text = title;
titleLabel.frame = stringFrame;
titleLabel.textAlignment = UITextAlignmentCenter;
最佳答案
那是因为文本中没有空格吗?如果您没有空格,在IB中,它的反应就像您得到的一样。将换行模式设置为字符换行通常会将第二行居中到第一行,但这可能也不是您想要的。
关于iphone - 包装时UILabel不能完全对齐,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3078587/