图片是:http://www.flickr.com/photos/71607441@N07/6641626163/
背景是UIImageView,蓝色部分我想显示为图像的“标题”。 我使用了UILabel,但文本的长度是动态的。它可以是一行或两行,最多两行。如果文本长于两行,则会被截断。
蓝色部分看起来像“在Microsoft Word中突出显示”,但它不是“iOS UILabel.text中的突出显示”
有人可以帮助我吗?
答案 0 :(得分:1)
您可以使用以下方法找到标题所需的大小(
)CGSize size = [UILabel.text sizeWithFont:yourFont];
还有:
CGSize size = [UILabel.text sizeWithFont:yourFont lineBreakMode: yourLineBreakMode];
然后,您可以使用这些尺寸(size.width,size.height)来设置UILabel的框架。
希望这会有所帮助。 :)
答案 1 :(得分:1)
试试这段代码:----
CGSize maximumSize = CGSizeMake(320, 30);
UILabel *newsLabel = [[UILabel alloc] init];
newsLabel.textColor = [UIColor whiteColor];
newsLabel.font = [UIFont boldSystemFontOfSize:11];
newsLabel.backgroundColor = [UIColor clearColor];
newsLabel.lineBreakMode = UILineBreakModeWordWrap;
newsLabel.numberOfLines = 0;
lineBreakMode:newsLabel.lineBreakMode];
CGSize dateStringSize = [@"Text Input" sizeWithFont:newsLabel.font
constrainedToSize:maximumSize
lineBreakMode:newsLabel.lineBreakMode];
CGRect dateFrame = CGRectMake(5, 5, 320, dateStringSize.height); //breath can be any desired float value
newsLabel.text = @"Text Input";
newsLabel.textAlignment = UITextAlignmentCenter;
newsLabel.frame = dateFrame;