【发布时间】:2015-01-18 07:08:05
【问题描述】:
我有一个 UIPickerView,我想让文本自动换行。
这是我的代码:
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{
if (component == 0) {
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;
}
else {
UILabel *lView = (UILabel *)view;
if (!sView) {
sView = [[UILabel alloc] init];
[sView setFont:[UIFont systemFontOfSize:15]];
sView.numberOfLines = [subCat count];
}
sView.text = [subCat objectAtIndex:row];
return sView;
}
}
我尝试设置 sView.numberOfLines = 0; (这就是您通常将 UILabel 设置为自动换行或超过 1 行的方式)但这不起作用。
【问题讨论】:
-
偏离主题,但在主题上:github.com/NYTimes/objective-c-style-guide#naming 请提供更多描述性变量:D
-
所有变量都只是数组
-
并不是这段代码 sn-p 难以理解,而是你应该考虑我所建议的作为编写代码的最佳实践。从长远来看,这肯定有助于习惯这样的事情
标签: ios objective-c uilabel uipickerview