Iphone Pickerview省略号在开头而不是结尾

Iphone Pickerview省略号在开头而不是结尾,iphone,uipickerview,Iphone,Uipickerview,正如标题所述,是否可以将省略号(…)放在UIPickerView“行”的末尾而不是末尾 我尝试为以下对象返回NSString和UIView: pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component 我甚至试着用滚动条来包装视图,试图找到我想要的替代解决方案,但看起来省略号仍然是最适合我的 文本的结尾是一个唯一的标识符,因为在不同的对象之间可能会重复该标识

正如标题所述,是否可以将省略号(…)放在UIPickerView“行”的末尾而不是末尾

我尝试为以下对象返回NSString和UIView:

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。这将确保椭圆放在字符串的开头。

非常感谢,效果非常好。为我的问题添加了详细的答案代码,供将来需要参考的人使用。