如果文本不适合标签,我想使pickerView
中的文本大小变小。例如,每当文本显示为“This is a test for somebo ...”时,我希望它自动将其自身尺寸调整为较小的尺寸,以使其适合。这是我正在使用的代码:
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{
UILabel *lView = (UILabel *)view;
if (!tView) {
tView = [[UILabel alloc] init];
[tView setFont:[UIFont systemFontOfSize:15]];
tView.numberOfLines = [categorie count];
}
tView.text = [categorie objectAtIndex:row];
return tView;
}
我试图将行数设置为0,但这不能解决我的问题。然后,我尝试制作标签
sizeToFit
,但这也不起作用。我还尝试过将标签的框架高度设置得更高,以至于要多行打印,但也无济于事。
我怎么了?
最佳答案
请参阅UILabel
文档。您要执行以下操作:
if (!tView) {
tView = [[UILabel alloc] init];
[tView setFont:[UIFont systemFontOfSize:15]];
tView.adjustsFontSizeToFitWidth = YES;
tView.minimumScaleFactor = 0.7; // adjust as needed
}
不要设置
numberOfLines
。仅当您希望文本自动换行时才有用。