Iphone Pickerview省略号在开头而不是结尾
正如标题所述,是否可以将省略号(…)放在UIPickerView“行”的末尾而不是末尾 我尝试为以下对象返回NSString和UIView:Iphone Pickerview省略号在开头而不是结尾,iphone,uipickerview,Iphone,Uipickerview,正如标题所述,是否可以将省略号(…)放在UIPickerView“行”的末尾而不是末尾 我尝试为以下对象返回NSString和UIView: pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component 我甚至试着用滚动条来包装视图,试图找到我想要的替代解决方案,但看起来省略号仍然是最适合我的 文本的结尾是一个唯一的标识符,因为在不同的对象之间可能会重复该标识
pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
我甚至试着用滚动条来包装视图,试图找到我想要的替代解决方案,但看起来省略号仍然是最适合我的
文本的结尾是一个唯一的标识符,因为在不同的对象之间可能会重复该标识符,所以文本的结尾更为重要
这不是我正在做的,但是想想看,例如一个名单,上面有这个人的名字和社会保险号码,这个名字可能会重复,ssn不会
我知道我可以把数字放在Begging上,但是这个应用程序以这种方式运行在各种平台上,客户真的希望数字保持在最后以保持一致性
这可能吗?如果是,我怎么做
桑克斯,斯蒂法诺
新增应答码:
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row
forComponent:(NSInteger)component reusingView:(UIView *)view {
UILabel *retval = (id)view;
if (!retval) {
retval= [[[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, [pickerView rowSizeForComponent:component].width, [pickerView rowSizeForComponent:component].height)] autorelease];
}
retval.text = [self.arrayWithData objectAtIndex:row];
retval.lineBreakMode = UILineBreakModeHeadTruncation;
retval.backgroundColor = [UIColor clearColor];
return retval;
}
您可以通过在UIPickerViewDeleteGate上实现–pickerView:viewForRow:forComponent:reusingView:方法而不是–pickerView:titleForRow:forComponent:方法来实现这一点。后者只向UIPickerView返回一个字符串,此时由picker视图决定如何显示它。此时,您无法控制在何处显示椭圆
相反,实现–pickerView:viewForRow:forComponent:reusingView:,返回一个UILabel,其lineBreakMode设置为UILineBreakModeHeadTruncation。这将确保椭圆放在字符串的开头。非常感谢,效果非常好。为我的问题添加了详细的答案代码,供将来需要参考的人使用。