Строка появляется с точками на этикетке

я получаю некоторые данные из канала odata с помощью сгенерированного прокси-сервера
(генератор взят с http://www.odata.org / )

Оказание услуг:

...
           <d:prop1>test1</d:prop1>
           <d:prop2>test2</d:prop2>
       </m:properties>
   </content>

все свойства с EDM.string и nullable

сгенерированный объект такой (все NSString):

мои данные.prop1 мои данные.prop2



У меня есть табличное представление со статической ячейкой, стилем "левая деталь" и IBoutlet для метки детали.

@property (слабый, неатомарный) IBOutlet UILabel detailLabel;

NSLog печатает все значения свойств правильно. Но если я хочу добавить их в detailLabel, некоторые значения всегда отображаются с первым символом и тремя точками (v...). Это поведение зависит от свойств, а не от длины строки или от detailLabel.

self.detailLabel.text = myData.prop1;

Если я добавлю к строке свойств строку из 3 символов, то она заблокируется, например, vvvv... , но точки никогда не исчезнут

Средство форматирования строк и [self.detailLabel setNeedsLayout] не исправляют это.

какие-либо предложения?


person Benedikt Kromer    schedule 09.01.2013    source источник
comment
Проверьте реальный размер этикетки во время выполнения. Я полагаю, что UILable слишком короткий.   -  person Hermann Klecker    schedule 09.01.2013
comment
это зависит не от метки, если я возьму другое свойство (с более длинной строкой), то оно сработает   -  person Benedikt Kromer    schedule 09.01.2013
comment
Есть ли конечные пробелы в строке этого свойства?   -  person Hermann Klecker    schedule 09.01.2013


Ответы (2)


РЕДАКТИРОВАТЬ:

Это многоточие.

Всякий раз, когда ваш текст длиннее, чем UITextFiled, он показывает его таким образом. Нравиться :

Hi AnoopVa... вместо Hi AnoopVaidya.

Предыдущий ответ:

Вы должны добавить строку, содержащую...

Или вы можете обрезать последние три символа из строки, если это действительно нежелательно и раздражает вас.

person Anoop Vaidya    schedule 09.01.2013
comment
вы не поняли, они не являются частью строки (согласно отладчику) - person Benedikt Kromer; 09.01.2013
comment
нет, они вроде на этикетке до коротких точек, но этикетка достаточно длинная - person Benedikt Kromer; 09.01.2013

Вы видите автоматическое усечение строки, на самом деле в вашей текстовой строке нет 3 точек. Строка просто длиннее, чем ваша метка может поместиться на доступном пространстве.

Если вы не хотите их видеть/отображать, настройте ширину UILabel, размер шрифта и lineBreakModel. Выбор:

enum {
NSLineBreakByWordWrapping = 0,
NSLineBreakByCharWrapping,
NSLineBreakByClipping,
NSLineBreakByTruncatingHead,
NSLineBreakByTruncatingTail,
NSLineBreakByTruncatingMiddle
};
typedef NSUInteger NSLineBreakMode

Для iOS5 и более ранних версий см. документацию по UILineBreakMode, для iOS6 и новее проверьте документация по NSLineBreakMode.

person JOM    schedule 09.01.2013